每天都是24小时吗?让我清楚地告诉你,不,看java,uti

每天都是24小时吗?让我清楚地告诉你,不,看java,uti
2021年01月06日 23:28 吾爱我的红花

每天都是24小时,这是举世公认的事实。在Java中是否可以相同?

标题说如果你看java,util,Calendar,然后看看这门课上的一天是否是24小时。

让我们看看下面的代码。

创建两个Calendar对象,start是“2020-01-01 ”,end是“2020-01-02 ”。这里特别的是,月份从0开始,也就是说,0代表。

最后,计算并输出两个时间点之间的小时数。在上图中,最终输出是24。

这不也是24小时。没什么特别的。

别担心,继续往下看,看看下面的代码。

这一次,“1990-04-15 ”和“1990-04-16 ”之间的小时数是23小时,这确实不是每天24小时。为什么呢?

别担心,还没结束呢。

让我们看看下面的代码。

一天不仅少于24小时,而且多于可能会,与上面的代码一样,他计算“1990-09-15 ”和“1990-09-16 ”之间的小时数,结果是25小时。

如果怎么会有这样的结果,有些日子是23小时,有些日子是25小时?

这是Calendar类bug吗?

当然不是,其实,这是有历史原因的。

是“夏令时”,也许一些年轻的朋友没听说过。你可以去百度百科看看,然后你就可以大致了解明白。

因为当夏天时,日照时间较长,天亮较早。就在这个时候,我们把时间提前了一个小时。目的是让人们早睡早起,节约照明用电。

如果向前拨一小时,一天就会少一小时,变成23小时,就像上面示例代码中的“1990-04-15”。

当未来日照时间变短时,再拨一个小时,回拨的时间就会超过一个小时,就像上面示例代码中的“1990-09-15”。

是关于24小时的问题。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部