2013-08-26 74 views
4

在node.js中跨服務器和客戶端同步timeStamps的常用方法是什麼,而不依賴於時區?node.js時區獨立Date.now()

例如,將在服務器和客戶端上提供相同時間的Date.now()等價物。 最好沒有任何node.js模塊或客戶端庫。

+2

此線程可能是有趣的:[最佳方式同步客戶端JavaScript時鐘與服務器日期](http://stackoverflow.com/questions/1638337/the-best-way-to-synchronize-client- side-javascript-clock-with-server-date) – dc5

+0

@ dc5我最終使用了類似於該線程的東西,但我極大地簡化了它。 – ArkahnX

回答

12

JavaScript的時間戳總是基於在UTC

時間在ECMAScript中自1970年1月1日UTC測量單位爲毫秒。

來自不同時區的日期字符串可以具有相同的時間戳。

var a = "2013-08-26 12:00 GMT-0800"; 
var b = "2013-08-27 00:00 GMT+0400"; 

console.log(Date.parse(a) === Date.parse(b)); // true 
console.log(Date.parse(a)); // 1377547200000 
console.log(Date.parse(b)); // 1377547200000 

而且,Date.now()應該在系統間返回相對相似的值。