2015-06-12 55 views
0

我在我的應用程序中使用了moment.js,我將特定格式的日期傳遞給了moment.js,並將它與系統時間進行比較,並給我美麗的時間格式,像這樣:如何比較moment.js中的兩個日期

moment(time, "YYYY-MM-DD HH:mm:ss.SSSSSS").fromNow(); 

這裏時間是由我給出的指定格式的時間戳。

我的問題是,從()函數獲取系統日期而不是服務器日期。所以,如果用戶在他的系統中用5分鐘的延遲時間使用他的電話,他將在4分鐘前得到最新的更新卡。

我想比較「時間」,我通過服務器時間,這也將通過我。

+0

雖然我同意標題中的問題是重複的,但實際上問的是不同的東西。也許標題可以改進以匹配所問的問題(例如「如何在moment.js中的兩個日期之間格式化持續時間」) – tavnab

回答

3

您可以從服務器傳遞兩個日期:現有時間戳和服務器的「現在」時間戳。

然後(假設你的服務器在相同的格式時間戳傳遞),可以使用.from(),而不是.fromNow()做:

moment(time, "YYYY-MM-DD HH:mm:ss.SSSSSS").from(serverTime, "YYYY-MM-DD HH:mm:ss.SSSSSS"); 

如果這是您正在使用的時間戳的唯一的事,你可以只需要服務器計算&直接返回delta(我們稱之爲serverDeltaMs)&使用moment.duration(serverDeltaMs).humanize()的格式。