我有2016-06-21T10:00:00-07:00格式的日期和时间,代表06/21/2016 5PM在PST中,我只想将其更改为美国东部时间2016年6月21日下午5点,反之亦然。我该如何与时刻做到这一点?如何在不修改时间的情况下仅更改时区
debugger;
var dateTime = moment('2016-06-21T10:00:00-07:00');
var newDateTime = dateTime.clone();
newDateTime.tz('US/Eastern');
//dateTime = dateTime.utc();
console.log(dateTime.utcOffset());
console.log(newDateTime.utcOffset());
console.log(newDateTime.utcOffset() - dateTime.utcOffset());
//console.log(utc.format());
dateTime = dateTime.add(newDateTime.utcOffset(), 'minutes');
console.log(dateTime.format());
console.log(new Date(Date.parse(dateTime.format())).toJSON());
编辑:
给定的输入= 2016-06-21T08:00:00-07:00(PST)
预期输出= 2016-06- 21T08:00:00-04:00(EST)
所以当我将它转换为UTC时,它应该变成
2016-06-22T15:00:00Z为PST 2016-06-22T12:00:00Z为EST
这就是我要找的,谢谢。 – user1614862
我无法删除偏移量,但我也有UTC格式的同一时间。所以,我总共有三个输入,其中一个是dateTime,带有UTC和目标时区的偏移量和日期时间。 – user1614862