java - System.currentTimeMillis() 返回的值是否受夏令时和闰秒调整的影响?

标签 java datetime time dst

我知道 System.currentTimeMillis() 给出了自纪元以来的毫秒数,它对系统的挂钟时间很敏感。我也知道在测量时间的程序中使用 System.currentTimeMillis() 来计算耗时是不可取的。 Java 库为此提供了 System.nanoTime()

我有两个关于 System.currentTimeMillis() 的具体问题:

  1. 它会受到闰秒调整的影响吗?我认为答案是,因为系统的挂钟时间会因为闰秒而调整。
  2. DST(夏令时)打开/关闭时它会受到影响吗?当时间突然从 23:59 变为 2:00 时会发生什么?由于系统时钟实际上发生了变化,我认为答案还是,但我想与社区核实一下。

最佳答案

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

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

关于java - System.currentTimeMillis() 返回的值是否受夏令时和闰秒调整的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812237/

相关文章:

java - Spring jpa多对多惰性删除

java - Java 不应该禁止在构造函数中使用抽象方法吗?

java - Intellij IDE 在哪里存储一个项目的工件设置

python - 循环日期范围子+将天分配给各自的月份

php - 获取一年中给定周数的 "Y-m-d"中的第一天

java - 根据日期找到时间并希望将其从字符串转换为 int

Objective-C:在 SpriteKit 中向计时器添加 10 秒

java - JMS Push Consumer 从 Oracle AQ 获取消息时出现延迟

datetime - 如何在 Powershell 中使用基于当前日期的名称创建文件夹?

sql-server-2008 - 格式化时间为 "24-hour Military Time"?