gpt4 book ai didi

java - 使用 GregorianCalendar.setGregorianChange 计算时差

转载 作者:行者123 更新时间:2023-11-30 05:14:31 28 4
gpt4 key购买 nike

我正在阅读鲍勃叔叔的“工匠”系列,并已阅读 #29 (PDF)。其中,测试代码中有此片段,用于断言日期足够接近:

private boolean DatesAreVeryClose(Date date1, Date date2) {
GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();
c1.setGregorianChange(date1);
c2.setGregorianChange(date2);
long differenceInMS = c1.getTimeInMillis() - c2.getTimeInMillis();
return Math.abs(differenceInMS) <= 1;
}

我阅读了文档,但无法弄清楚为什么仅仅使用 Date.getTime() 还不够好,而不是引入日历等。我是否错过了一些极端情况?

最佳答案

飞船上的时间与我们世界中的时间不同。另外,飞船上的java API 与我们世界中的API 略有不同。 setGrogorianChange 方法与宇宙飞船世界中的儒略日期无关。相反,它是设置 GregorianCalendar 实例时间的一种方法。在宇宙飞船世界中,Date.getTime() 不返回毫秒。它返回一个哈希值,该值以某种方式表示时间,但不能相减或相加。

就这样。

关于java - 使用 GregorianCalendar.setGregorianChange 计算时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089059/

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