How to convert Moment.js date to users local timezone?(如何将 Moment.js 日期转换为用户本地时区?)
问题描述
我使用 Moment.js 和 Moment-Timezone 框架,并且有一个 Moment.js 日期对象,该对象明确使用 UTC 时区.如何将其转换为浏览器的当前时区?
I use the Moment.js and Moment-Timezone frameworks, and have a Moment.js date object which is explicitly in UTC timezone. How can I convert that to the current timezone of the browser?
var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC");var localDate = ???
所以如果我能找出用户的本地时区就好了;或者,我想将日期对象转换为另一个只使用本地时区"的数据对象,无论它实际上是什么.
So it would be fine if I could find out the users local time zone; or alternatively I'd like to convert the date object into another data object which just uses the "local timezone", no matter what that actually is.
推荐答案
您不需要为此使用 moment-timezone.主要的 moment.js 库具有使用 UTC 和本地时区的完整功能.
You do not need to use moment-timezone for this. The main moment.js library has full functionality for working with UTC and the local time zone.
var testDateUtc = moment.utc("2015-01-30 10:00:00");
var localDate = moment(testDateUtc).local();
从那里您可以使用您可能期望的任何功能:
From there you can use any of the functions you might expect:
var s = localDate.format("YYYY-MM-DD HH:mm:ss");
var d = localDate.toDate();
// etc...
请注意,通过将 testDateUtc(它是一个 moment 对象)传回 moment() 构造函数,它会创建一个 克隆.否则,当您调用 .local() 时,它也会更改 testDateUtc 值,而不仅仅是 localDate 值.时刻是可变的.
Note that by passing testDateUtc, which is a moment object, back into the moment() constructor, it creates a clone. Otherwise, when you called .local(), it would also change the testDateUtc value, instead of just the localDate value. Moments are mutable.
另外请注意,如果您的原始输入包含时区偏移量,例如 +00:00 或 Z,那么您可以直接使用 moment 解析它代码>.您不需要使用 .utc 或 .local.例如:
Also note that if your original input contains a time zone offset such as +00:00 or Z, then you can just parse it directly with moment. You don't need to use .utc or .local. For example:
var localDate = moment("2015-01-30T10:00:00Z");
这篇关于如何将 Moment.js 日期转换为用户本地时区?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何将 Moment.js 日期转换为用户本地时区?
基础教程推荐
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
