gpt4 book ai didi

java - 从日期列表中获取最接近特定日期的日期?

转载 作者:行者123 更新时间:2023-11-30 07:45:36 28 4
gpt4 key购买 nike

我在 Temp 类中有两个日期字段,分别是 validFromDate 和 asOfDate。我有名单。对于 validFromDate 最接近 asOfDate 的记录,我需要将标志 whihc 设置为 true 的类属性之一

例。

List<temp> {
Temp1:
asOfDate: 2018-01-04
validFrom: 2018-01-01
Temp2:
asOfDate: 2018-01-04
validFrom: 2018-01-02
Temp3:
asOfDate: 2018-01-04
validFrom: 2018-01-03
}

o/p 应该是 Temp3,因为这个 validFrom 最接近 asOfdate。我将为此 Temp2 设置标志为 true

如何使用 Java 8 流实现此目的?

最佳答案

  temp.stream()
.map(x -> new SimpleEntry<>(x, ChronoUnit.DAYS.between(x.getAsOfDate(), x.getValidFrom())))
.min(Comparator.comparingLong(Entry::getValue))
.map(Entry::getKey)
.orElse(...);

或者更简单:

test.stream()
.min(Comparator.comparingLong(x -> ChronoUnit.DAYS.between(x.asOfDate , x.validFrom)));

关于java - 从日期列表中获取最接近特定日期的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51634757/

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