微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – System.currentTimeMillis()返回的值是否受Day Light Savings和Leap Second调整的影响?

我知道System.currentTimeMillis()给出了自纪元以来的毫秒时间,并且它对系统的挂钟时间很敏感.我也知道不建议使用System.currentTimeMillis()来计算测量时间的程序中的经过时间.
Java库为此提供了System.nanoTime().

我有两个针对System.currentTimeMillis()的具体问题:

>它是否受到闰秒调整的影响?我认为答案是肯定的,因为系统的挂钟时间会因闰秒而调整.
> DST(DayLight Savings)打开/关闭时是否会受到影响?当时间从23:59突然变为2:00时会发生什么?由于系统时钟实际上发生了变化,我认为答案是肯定的,但我想与社区联系.

解决方法

System.currentTimeMillis()返回的值是自纪元以来经过的毫秒数.这个毫秒数就是:毫秒.

假设在某一天,由于DST,您所在的国家/地区决定立即从1:00到2:00.这是否意味着在1:00到2:00之间已经过了1小时? 0毫秒已经过去了.您所在的国家/地区只是决定将毫秒值X表示为1:00,并将毫秒X 1表示为2:00.时间的表示不会改变毫秒.

原文地址:https://www.jb51.cc/java/129992.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐