如何在列表日期中获取最大和最小日期就像 java 中的 String ''17.03.2020", ''12.03.2020", ''01.02.2020" [关闭]
Posted
技术标签:
【中文标题】如何在列表日期中获取最大和最小日期就像 java 中的 String \'\'17.03.2020", \'\'12.03.2020", \'\'01.02.2020" [关闭]【英文标题】:How to get max and minimum date in a list dates are like String ''17.03.2020", ''12.03.2020", ''01.02.2020" in java [closed]如何在列表日期中获取最大和最小日期就像 java 中的 String ''17.03.2020", ''12.03.2020", ''01.02.2020" [关闭] 【发布时间】:2020-06-30 07:47:39 【问题描述】:List<String> dateList=new ArrayList<>();
请帮助我获取给定列表日期格式的最大和最小日期是字符串格式(“17.03.2020”)
【问题讨论】:
你自己试过什么?你做过研究吗? 这能回答你的问题吗? How to sort Date which is in string format in java? 【参考方案1】:使用DateTimeFormatter
将日期字符串转换为对应的LocalDate
值并将它们添加到一个新的List
中,您可以使用Collections::sort
对其进行排序。
按如下方式进行:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Testing
public static void main(String[] args)
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd.MM.uuuu");
List<String> strDateList = new ArrayList<String>();
strDateList.add("17.03.2020");
strDateList.add("12.03.2020");
strDateList.add("01.02.2020");
List<LocalDate> dateList = new ArrayList<LocalDate>();
for (String ds : strDateList)
dateList.add(LocalDate.parse(ds, dateFormatter));
Collections.sort(dateList);
System.out.println(dateList);
// If you want to replace the elements in the original list with sorted values
strDateList.clear();
for (LocalDate ld : dateList)
strDateList.add(ld.format(DateTimeFormatter.ofPattern("dd.MM.uuuu")));
System.out.println(strDateList);
输出:
[2020-02-01, 2020-03-12, 2020-03-17]
[01.02.2020, 12.03.2020, 17.03.2020]
【讨论】:
以上是关于如何在列表日期中获取最大和最小日期就像 java 中的 String ''17.03.2020", ''12.03.2020", ''01.02.2020" [关闭]的主要内容,如果未能解决你的问题,请参考以下文章