使用moment.js将Utc日期更改为本地日期 [英] Changing the Utc Date to Local Date using moment.js

查看:4154
本文介绍了使用moment.js将Utc日期更改为本地日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆