gpt4 book ai didi

java - Java 中的 LocalDateTime 类和 Period

转载 作者:行者123 更新时间:2023-12-01 14:07:49 26 4
gpt4 key购买 nike

有这么简单的Java类:

    public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2017, 11, 26, 15, 38);
Period period = Period.ofYears(1).ofMonths(2).ofDays(3);
dateTime = dateTime.minus(period);
System.out.println(dateTime);
}
}

这会导致 2017-11-23T15:38谁能解释一下,为什么减去日期而年份和月份却没有?

最佳答案

因为每三个方法

(ofYears(1) & ofMonths(2) & ofDays(3))

返回一个 Period 类的实例

每次您在 Period period 中调用另一个方法值时都会被覆盖。

如果说 ofYears(1) 返回名为 a 的 Period 类的实例,则 ofMonths(2) 也返回一个新实例并覆盖他最初的实例。因此,最后一个保留并存储到 period 变量中。

这就是为什么只有 ofDays(3) 显示效果的原因。

如果你想做同样的事情,你应该尝试调用下面的方法

`public static Period of(int years,
int months,
int days)

关于java - Java 中的 LocalDateTime 类和 Period,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62859648/

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