我試圖使用moment.js將存儲在數據庫中的日期(設置爲Europe/London
時區)與當前用戶時間進行比較,並考慮到它們的時區。時刻JS - 正確比較當地時間的方法
我從數據庫返回的日期字符串,是想用fromNow()
功能,如下所示:
console.log(dbDate);
console.log(moment().format());
console.log(moment(dbDate).fromNow());
// DB stored time (Europe/London)
// 2017-09-26 06:56:26
// Current user time (timezone is Pacific Time/Los Angeles)
// 2017-09-25T23:59:03-07:00
// String output by fromNow() function, which should reflect the timezone difference but doesn't
// in 7 hours
我想fromNow()
字符串來考慮時區差異,這應該是一個時間"ago"
而不是在將來。
我可能錯過了一些相當明顯的圖書館,所以如果這很簡單,請事先道歉。
謝謝。我不會知道用戶的時區,所以我需要檢測它,但用下面的代碼不能按預期工作'var NewYork_tz_offset = moment.tz.zone(moment.tz.guess())。offset(現在);' - 任何想法? – tomphilps
你的'dbDate'''格式是什麼? ISO? –
它是UTC我相信(使用Magento) – tomphilps