gpt4 book ai didi

java - instant.truncatedTo(ChronoUnit.HOURS) 返回大于原始值的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:00 32 4
gpt4 key购买 nike

根据javadoc Instant.truncatedTo 的作用是

Truncating the instant returns a copy of the original with fields smaller than the specified unit set to zero.

因此,如果我用 ChronoUnit.HOURS 调用它,我希望小时不会被修改。当我用 1970 年之后的日期调用它时,这也是我所看到的。但是,在此之前它实际上返回的值大于原始值。这是预期的行为还是我遗漏了什么?

    Instant.ofEpochMilli(-1);                                          //1969-12-31T23:59:59.999Z
Instant.ofEpochMilli(-1).truncatedTo(ChronoUnit.HOURS); //1970-01-01T00:00:00Z
Instant.ofEpochMilli(1); //1970-01-01T00:00:00.001Z
Instant.ofEpochMilli(1).truncatedTo(ChronoUnit.HOURS); //1970-01-01T00:00:00Z
Instant.ofEpochMilli(2*60*60*1000).truncatedTo(ChronoUnit.HOURS); //1970-01-01T02:00:00Z
Instant.ofEpochMilli(2*60*60*1000-1); //1970-01-01T01:59:59.999Z
Instant.ofEpochMilli(2*60*60*1000-1).truncatedTo(ChronoUnit.HOURS);//1970-01-01T01:00:00Z

最佳答案

Is this the intended behavior

不是 a bug这是在 Java 9 中修复的。

关于java - instant.truncatedTo(ChronoUnit.HOURS) 返回大于原始值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602637/

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