我目前使用Moment.js來操作日期和時間。如何在Moment.js中設置默認偏移量?
我試圖避免問題,如果用戶手動更改他的設備上的時間。
所以我得到服務器時間,檢查與瀏覽器時間的偏移量。
var offset = moment(browserTime).diff(moment(serverTime));
但我不想存儲偏移,並具有每個我創建一個新的時刻,隨着時間應用它:
var foo = moment().add('milliseconds', offset);
那麼,有沒有一種方法來設置偏移那麼每一個新時刻都會有這樣的抵消?類似於:
moment.setOffset(offset);
var foo = moment();
var bar = moment(new Date()).add('milliseconds', offset);
if (foo.isSame(bar)) {
// success
}
如果不是,則將該功能添加到Moment.js(請注意我)可能是個好主意。
謝謝。
P.S .:我知道這個問題與Moment.js set the base time from the server密切相關,但提出的答案並不能解決我的問題。
那麼,添加一個全局偏移?如果在您的網站上的其他地方使用時刻,並且不需要偏移,會發生什麼情況?能夠得到一個可選的配置時刻的實例(或者它的包裝)將是更好的方式來做這樣的事情,IMO;就像'var myMoment = moment.withConfig({offset:...});'。 – 2015-02-05 14:18:33
如果偏移量存儲在瞬間,那麼你可以調用'''moment()。applyOffset();'''?那麼當時的其餘時間沒有問題,你不必公開偏移值globaly。 – brnrd 2015-02-05 14:28:41