0

给定一个日期字符串,例如var input = '2019-09-19 13:07:09'

如何将该字符串转换为不同的时区?知道那input是UTC。

我尝试了以下方法:

var input = '2019-09-19 13:07:09';
var convertTo = "US/Eastern";
var dateConverted = moment.tz(input, "YYYY-MM-DD hh:mm:ss", convertTo);

dateConvertedinput与执行该代码后保持相同。

我也试过:

var input = '2019-09-19 13:07:09';
var convertTo = "US/Eastern";
var inUTC = (moment(input).utc());
var dateConverted = moment.tz(inUTC, "YYYY-MM-DD hh:mm:ss", convertTo);

但在这种情况下,问题inUTCThu Sep 19 2019 20:07:09 GMT+0000之后(moment(input).utc());

我希望日期转换为 EST,即2019-09-19 09:07:09

任何想法如何解决这个问题?谢谢!

4

1 回答 1

2

尝试这个 :

var input = '2019-09-19 13:07:09';
var offUtc = moment.utc(input, 'YYYY-MM-DD HH:mm:ss');
var convertTo = "US/Eastern";
var dateConverted = offUtc.clone().tz(convertTo);
于 2019-09-19T21:07:53.650 回答