gpt4 book ai didi

java - 如何在java中的arraylist中获取随时间升序的日期

转载 作者:行者123 更新时间:2023-12-02 10:53:23 24 4
gpt4 key购买 nike

我有一个日期列表,例如:

20-aug-2018 05:34 pm, 20-aug-2018 06:23 pm, 20-aug-2018 04:03 pm, 20-aug-2018 07:20 pm

现在我想得到这样的输出:

20-aug-2018 04:03 pm, 20-aug-2018 05:34 pm, 20-aug-2018 06:23 pm, 20-aug-2018 07:20 pm

最佳答案

如果输入是List<String> ,你可以这样实现:

  1. 将日期字符串解析为 LocalDateTime

  2. LocalDateTime具有可比性,只需调用list.sort

示例代码:

// initiate input
List<String> list = new ArrayList<>(Arrays.asList("20-aug-2018 05:34 pm", "20-Aug-2018 06:23 pm", "20-aug-2018 04:03 pm", "20-aug-2018 07:20 pm"));

// build a formatter which is used to parse the string to LocalDateTime
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("dd-MMM-yyyy hh:mm a")
.toFormatter(Locale.US);

// sort based on LocalDateTime
list.sort(Comparator.comparing(dateString -> LocalDateTime.parse(dateString, formatter)));
System.out.println(list);

输出:

[20-aug-2018 04:03 pm, 20-aug-2018 05:34 pm, 20-Aug-2018 06:23 pm, 20-aug-2018 07:20 pm]

关于java - 如何在java中的arraylist中获取随时间升序的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com