为什么java.time.Instant不显示任何leap秒?

问题描述

在下面编辑答案摘要

我想进一步了解java.time.Instant和leap秒。如果我运行此命令:

System.out.println(Instant.ofEpochSecond(60*60*24*365*50));

我希望创建一个接近2020年的时间/日期,即1970年1月1日之后的365天中的50个地段,因此允许一连串的leap年,短短几天。我确实有这样的约会。到目前为止一切顺利。

我得到的日期/时间显示2019-12-20T00:00:00Z。令我惊讶的是,由于leap秒,结果也比午夜少了几秒钟。但这恰好是UTC的午夜。

我误解了leap秒,还是java.time.Instant(或者也许是其他东西!)?

编辑:正如评论者所指出的那样,不需要Java时间来做关于anything秒的任何事情,这可能是因为Unix时间忽略了它们,而其原因在Wikipedia文章中有所提及,并间接地通过另一个问题提出。问题的关键似乎在于,未来飞跃秒是不可预测的,但是当天文学家认为地球已经足够减速以至于需要它时,这一点就会增加。看来减速是不可预测的。

注意,我没有删除我的问题,因为在其他人提到的问题中没有提到Unix时间与Java时间之间的关联,所以我相信这会带来一些小的好处。

感谢您的输入!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...