使用 moment.js 将 Utc 日期更改为本地日期
我正在使用带有时区的 moment.js 在 web 应用程序中进行日期操作.我将所有日期存储在 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.
相关文章