gpt4 book ai didi

java - 如何从日历实例中减去小时数

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:46 24 4
gpt4 key购买 nike

根据我对 roll() 方法的理解,我希望下面的代码能够从当前时间减去 140 小时。但是好像减去20个小时。这不是正确的方法吗?

Calendar rightNow = Calendar.getInstance();
rightNow.roll(Calendar.HOUR, -140);

最佳答案

根据 java docsroll 方法不会更改较大的字段,它会滚动 0 到 23 之间的小时值。

因此,在您的情况下,考虑 HOUR_OF_DAY,140 实际上被视为 (24 * 5) + 20 = 140。现在,由于它不会更改较大的字段,因此“小时”将回滚 24 小时 5 次,从而恢复原状到同一时间,然后回滚 20 小时。

要实现“真正的”140 小时回滚,您可以这样做 -

    Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.HOUR, -140);

关于java - 如何从日历实例中减去小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17329006/

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