我在字符串中输入了带有特定时区的日期。例如:
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/