如何将日期字符串转换为特定时区

How to convert Date string to a specific time zone

给定日期字符串,例如 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);

dateConverted 在执行该代码后与 input 保持不变。

我也试过:

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);

但是在这种情况下,问题是inUTC(moment(input).utc());

之后变成了Thu Sep 19 2019 20:07:09 GMT+0000

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

有什么解决办法吗?谢谢!

试试这个:

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);