当System.currentTimeMillis发生变化时,可能的原因是什么?
说currentTimeMillis仅在2分钟后改变了1分钟和2分钟。与节日相关?
一个可能的原因是时间被同步到正确的时间,另一个可能的原因是什么?
答案 0 :(得分:0)
System.currentTimeMillis()
,根据其文档,返回当前时间与1970年1月1日午夜时间之间的差异(以毫秒为单位)。显然它正在快速变化所有时间。需要注意的是,它指的是挂钟,可以随时调整!
也就是说,如果有人或某事(可能是自动NTP同步器)只是调整计算机的时钟或日期,它会因为daylight saving time 而跳过一小时。如果您需要测量某些内容需要多长时间,则应使用计时器,例如System.nanoTime()
,保证单调变化,而不是时钟(假定但保证指代某个固定点)。
答案 1 :(得分:0)
我将开始猜测 - 主要是我看到两个可能的原因: