javascript - 将日期转置为本地时区而不改变日期

标签 javascript momentjs

我在字符串中输入了带有特定时区的日期。例如:

2017 年 5 月 20 日星期六 17:00:00 GMT-0300 (-03)

我想将此日期的时区更改为我本地的时区,而不转换时间。就好像输入日期位于我的正确时区中一样。

2017 年 5 月 20 日星期六 17:00:00 GMT+0200(中欧夏令时间)

我玩了一下,发现了这个:

const date = moment(moment.utc('2017 年 5 月 20 日星期六 17:00:00 GMT-0300 (-03)').format('LLL'))

这是最简单的方法吗?我不喜欢瞬间对象的副本,但我找不到一种方法来“单次”完成它。

最佳答案

要在本地时间解析您的输入,您可以简单地使用 moment(String, String)功能。如docs说:

By default, moment parses and displays in local time.

这是一个实时示例:

var input = 'Sat May 20 2017 17:00:00 GMT-0300 (-03)';
var m = moment(input, 'ddd MMM DD YYYY HH:mm:ss');
console.log(m.format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

关于javascript - 将日期转置为本地时区而不改变日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027723/

相关文章:

javascript - 如何过滤具有保存值javascript的对象数组

javascript - 检查表单内的任何输入是否为空

javascript - 将日期格式 27.05.2015 01 :46:32. UTC 转换为区域设置时间

javascript - 使用 Momentjs 库获取时间戳中的一天的开始时间

javascript - 使用语言环境解析时日期无效

函数的 JavaScript 链接方法 - TypeError : (intermediate value). methodName is not a function

javascript - 取消基于时间的函数在条件语句中运行

javascript - 如何发出一个简单的 AJAX 请求来执行 php?

javascript - 如何使用 Moment.js 获取一个月中的天数列表

javascript - 将字符串日期转换为 utc