2017-07-31 51 views
-1

如何使用moment.js将"2017-07-27T08:02:17+0200"转换为本地日期时间和地区?如何使用moment.js将本地日期时间和地区转换为“2017-07-27T08:02:17 + 0200”

这里08:02:17是小时:分钟:秒和+0200是时区。我的本地时区是GMT+6。我想将该日期转换为我的本地日期时间和区域。到目前为止,我已经试过这样:

moment.utc('2017-07-27T08:02:17+0200','YYYY-MM-DDThh:mm:ssZZ').local() 

但它是由moment.js返回Invalid Date

+2

您是否试过阅读文档? – Amy

回答

3

如前所述here

默认情况下,时刻解析并在本地时间显示。

您的输入字符串包含UTC偏移量,所以您可以简单地使用moment(String, String)

注意,如规定here:像moment(string)moment.utc(string)

片刻的字符串解析函数接受偏移的信息,如果提供,但由此产生的瞬间对象转换为本地或UTC时间。

所以没有必要使用local()

var m = moment('2017-07-27T08:02:17+0200', 'YYYY-MM-DDTHH:mm:ssZZ') 
 
console.log(m.format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

1

对于本地的瞬间本身会做,但是,如果你想要一个特定的时区,你可以使用tz方法与地点名称(如Moment Timezone定义):

moment.tz("2017-07-27T08:02:17+0200", "America/Toronto").format(); 
相关问题