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

时间:2019-09-19 20:45:26

标签: javascript timezone momentjs date-conversion moment-timezone

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

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

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

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

1 个答案:

答案 0 :(得分: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);