gpt4 book ai didi

java - 根据目标日期找到最近的开始日期和结束日期的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:08 24 4
gpt4 key购买 nike

StartDate    EndDate
2008-03-10 2008-03-11
2008-03-10 2008-03-13
2008-03-11 2008-03-12
2008-03-15 2008-03-19

我想根据目标日期从日期列表中查找最近的一个2008-03-12

输出应为StartDate = 2008-03-11 和 EndDate = 2008-03-12

最佳答案

假设是LocalDate,则使用自然排序顺序(即升序)对列表进行排序

 List<LocalDate> d = Stream
.of(LocalDate.parse("2008-03-10"), LocalDate.parse("2008-03-11"), LocalDate.parse("2008-03-12"),
LocalDate.parse("2008-03-13"), LocalDate.parse("2008-03-14"), LocalDate.parse("2008-03-19"),
LocalDate.parse("2008-03-15"), LocalDate.parse("2008-03-20"))
.sorted().collect(Collectors.toList());

现在找到2008-03-12的索引

int index = d.indexOf(LocalDate.parse("2008-03-12"));

然后获取最近的先前日期

 System.out.println("Previous nearest date : "+d.get(index-1));  //2008-03-11

关于java - 根据目标日期找到最近的开始日期和结束日期的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57087988/

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