您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java系统毫秒是否考虑了leap秒?

Java系统毫秒是否考虑了leap秒?

正式而言,这取决于操作系统和实现- 至少对于而言Date。来自的文档java.util.Date

尽管Date类旨在反映协调世界时(UTC),但它可能并非完全如此,具体取决于Java虚拟机的宿主环境。在所有情况下,几乎所有现代操作系统都假设1天= 24×60×60 = 86400秒。但是,在UTC中,大约每年一到两年一次,称为“ le秒”。always秒始终是一天的最后一秒,并且总是在12月31日或6月30日。例如,由于增加了leap秒,1995年的最后一分钟长61秒。大多数计算机时钟不够精确,无法反映the秒的区别。

我怀疑您会发现,尽管您的计算机时钟大致与UTC对齐,但这是通过NTP等方法来进行的,它会定期校正时钟,而不是操作系统 真正 实现了leap秒。

我相信JRE库通常 承担86400-第二天。它使生活 这么 简单得多,如果你要纠正不准确的系统时钟,无论如何,你可能会为闰秒以及正确的,太。

您真的很想弄清楚自己感兴趣的东西。如果您需要一种使用leap秒来表示日期和时间的方式,那么标准Java库可能对您而言效果不佳。据我所知,甚至JSR-310也不再支持leap秒(对于大多数开发人员来说,这是非常明智的决定)。

java 2022/1/1 18:28:23 有541人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶