當System.currentTimeMillis發生改變時,可能的原因是什麼?CurrentTimeMillis正在改變,任何可能的原因?
說currentTimeMillis只在2分鐘後改變1和2分鐘小時。相關的日光節約?
一個可能的原因是時間同步到正確的時間,其他可能的原因是什麼?
當System.currentTimeMillis發生改變時,可能的原因是什麼?CurrentTimeMillis正在改變,任何可能的原因?
說currentTimeMillis只在2分鐘後改變1和2分鐘小時。相關的日光節約?
一個可能的原因是時間同步到正確的時間,其他可能的原因是什麼?
System.currentTimeMillis()
根據其文檔返回當前時間與1970年1月1日午夜UTC之差(以毫秒爲單位)。因此顯然它一直在迅速變化。需要注意的是,它指的是可隨時調整的壁鐘!
也就是說,如果某人或某事 - 可能是自動NTP同步器 - 只是簡單地調整計算機的時鐘或日期,它將跳過
小時,因爲
daylight saving time
是任意數量。如果您需要測量東西需要多長時間,您應該使用定時器,例如, System.nanoTime()
,它保證單調地變化,而不是一個時鐘(這是應該是而不是保證指的是某個固定點)。
由於以UTC爲單位進行測量,因此*不受夏令時影響。 –
@Joona,你能不能告訴我偶爾有什麼意思。 – user705414
@Joona,你的意思是我必須使用NanoTime而不是CurrentTimeMillis – user705414
我纔開始猜測 - 主要是我看到2個可能的原因:
我想只會發生*期望*'currentTimeMillis()'經常改變......你知道的留*當前*。大概你有一種不同的變化 - 也許你可以告訴我們什麼? –
呃,它比以前更晚了嗎? –
你的意思是什麼改變 - 它會一直改變 - 這是底層時鐘的時間。如果你多次打電話,你會得到不同的結果。 – gkamal