将日期转换为本地时区而不更改日期

时间:2017-05-17 14:29:29

标签: javascript momentjs

我的输入日期是字符串中的特定时区。例如:

Sat May 20 2017 17:00:00 GMT-0300 (-03)

我想在不转换时间的情况下将此日期的时区更改为我的本地时区。好像输入日期在我正确的时区。

Sat May 20 2017 17:00:00 GMT+0200 (CEST)

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

const date = moment(moment.utc('Sat May 20 2017 17:00:00 GMT-0300 (-03)').format('LLL'))

这是最简单的方法吗?我不喜欢时刻对象的副本,但我找不到一个方法来单拍#34;。

1 个答案:

答案 0 :(得分:3)

要在本地时间解析输入,只需使用moment(String, String)功能即可。正如docs所说:

  

默认情况下,时刻会以当地时间进行分析和显示。

这是一个实时样本:

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>