问题描述
在下面编辑答案摘要:
我想进一步了解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 (将#修改为@)