我试图使用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