2012-10-11 48 views

回答

4

這會很難,不會在您的系統採取更接近看看再說,但總體記得日期和時間庫,編程可以偶爾是真的,真的很奇怪。

推薦閱讀:Falsehoods Programmers believe about time

我最近遇到了類似的問題,在V8在生產中,什麼(我們認爲)是發生在網絡的時間守護程序改變系統的時鐘 - 因爲它是專門用來做。所以,偶爾我們有一些分析說,我們的「結束時間」在之前是,因爲系統時鐘在代碼執行過程中被NTP重新同步。

+0

下面是一些額外的閱讀,講述了Unix系統(和NTP)如何管理時間。關於閏秒的討論特別有趣。 http://unix4lyfe.org/time/?v=1 – smithclay

3

許多服務器使用某種方法將它們的系統時間同步到某個更高權限(使用NTP或其他協議)。這種同步是週期性完成的,如果需要使系統時鐘恢復同步,可能會導致時間倒退。這是與您自己的代碼異步完成的,因此可能發生在這兩個new Date()調用之間。

new Date()價值最終從V8被調用到獲取時間操作系統的到來。

+0

我想時間也來自OS。如果它發生一次,沒關係。但它會連續發生。這有點奇怪。 – murvinlai

相關問題