使用moment.js将Utc日期更改为本地日期 [英] Changing the Utc Date to Local Date using moment.js
问题描述
我正在使用moment.js与时区在webapp中进行日期操作。我正在将所有日期存储在UTC中,并将其作为UTC返回到UI。我正在使用该用户的时区。我想将UTC时间转换为本地用户时区。
i'm using moment.js with timezones for date manipulation in a webapp. i'm storing all the dates in UTC and return them to UI as UTC. I'm having the timezone of the user. i want to convert the UTC time to the local Users time zone.
var timezone = "America/New_York";
var utcDate = "2013-10-16T10:31:59.0537721Z";
var localDate = moment(utcDate).utc().tz(timezone).format()
当我尝试这样做时我错了。
When i try to do this i'm getting wrong time. not sure how to get this working with moment
推荐答案
您可以尝试:
moment.utc(utcDate).tz(timezone).format()
但不要紧。他们应该会产生:2013-10-16T06:31:59-04:00
。
But it shouldn't matter. They should both produce: "2013-10-16T06:31:59-04:00"
.
它适用于我,在Chrome 30上运行,所以它可能与浏览器相关。
It works for me, running on Chrome 30, so it's probably browser related.
如果您在IE8上运行Moment.js 2.3.1或更早版本,那么它是一个问题的影响#1175 ,修正于2.4.0。更新到最新版本应该可以解决问题。
If you're running Moment.js 2.3.1 or earlier on IE8, then it's a side effect of issue #1175, which was fixed in 2.4.0. Updating to the latest version should solve the problem.
这篇关于使用moment.js将Utc日期更改为本地日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!