我有以下字符串,我隐式知道它位于 UTC 时区:2008-03-09 18:02:29
如何使用 moment.js 将其转换为本地时区的对象?
我尝试了以下操作,但它没有调整我本地时区的时间:
> moment("2008-03-09 18:02:29 UTC").format('YYYY-MM-DD HH:mm:ss zz')
"2008-03-09 18:02:29"
PS。我住在华盛顿特区 (UTC -4) 附近。但这需要对世界任何地方的任何用户都能正常工作。
我可以在没有 moment.js 的情况下做到这一点(但它只适用于 Chrome,不适用于 FF):
new Date('2008-03-09 18:02:29 UTC');
那么与此类似的 moment.js 代码是什么?
最佳答案
您知道您有 UTC 日期,因此您需要以 UTC 模式进行解析。之后,使用Moment的.local()
函数返回当前用户的时间。
moment.utc('2008-03-09 18:02:29').local().format()
"2008-03-09T13:02:29-05:00"
我现在是-5,正如您所看到的,日期被推迟了五个小时。
关于javascript - 如何将 UTC 时间字符串转换为本地时区中正确的 moment.js 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317810/