gpt4 book ai didi

java - 以 Short 基元类型获取 Java 8 中两个日期之差(天数)的最简单方法

转载 作者:行者123 更新时间:2023-11-30 02:31:38 26 4
gpt4 key购买 nike

例如24.05.201731.05.2017之间的区别将是 7

我走的路正确吗?

private short differenceOfBillingDateAndDueDate(Date billingDate, Date dueDate) {

LocalDate billingLocalDate = billingDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

LocalDate dueLocalDate = dueDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

return (short) ChronoUnit.DAYS.between(billingLocalDate,dueLocalDate);
}

最佳答案

看起来不错 - 但由于您正在使用系统时区,因此您可以跳过它。直接使用 Instant 也可以 - 无需先转换为 LocalDate。您还可以跳过局部变量并立即执行日期到即时的转换:

public static short differenceOfBillingDateAndDueDate(Date billingDate, Date dueDate) {
return (short)ChronoUnit.DAYS.between(
billingDate.toInstant()
,dueDate.toInstant());
}

或更短:

public static short differenceOfBillingDateAndDueDate(Date billingDate, Date dueDate) {
return (short)billingDate.toInstant().until(dueDate.toInstant(), ChronoUnit.DAYS);
}

关于java - 以 Short 基元类型获取 Java 8 中两个日期之差(天数)的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44157437/

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