我必須計算設定時間和當前服務器時間之間的時間差。兩個時區格式化日期之間的moment.js差異
我正在使用momentjs和時區時區庫。
這是我有:
var serverTime = moment.tz(new Date(), "Europe/Berlin").format();
var bar = moment.tz("2016-05-14 00:00:00", "Europe/Berlin").format();
var baz = bar.diff(serverTime);
console.log('server time is: ' + serverTime);
console.log('time diff is: ' + baz);
這給了我一個錯誤:
TypeError: bar.diff is not a function
是它可能造成兩種格式的時區之間的日期差異比較?如果不是,使用momentjs庫進行這種計算的最佳方法是什麼?
謝謝。我想我應該更好地命名變量。我在兩個日期之間使用diff方法轉換爲我指定的時區,以獲得所需的結果。不過,如果使用utc是模擬服務器時間的好主意。 – Grant
如果你只是比較*時間,你甚至不需要指定任何特定的時區,因爲它在引擎蓋下使用UTC。我只在第一行中包含TZ,因爲稍後會顯示它。如果你只關心diff,你可以使用'moment()'。 –
WRT「服務器時間」,真正做到這一點的唯一方法是通過從服務器獲取時間戳 - 當然,您必須考慮傳輸該時間戳有延遲。你似乎在混淆「使用服務器的時區」和「使用服務器的時鐘」。請記住,客戶可以將自己的時鐘更改爲任何他們想要的。不能保證它會同步。 –