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

查看:179
本文介绍了使用 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.

这篇关于使用 moment.js 将 Utc 日期更改为本地日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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