Как преобразовать строку даты в определенный часовой пояс - PullRequest
0 голосов
/ 19 сентября 2019

Учитывая строку даты, такую ​​как 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 становится Thu Sep 19 2019 20:07:09 GMT+0000 после (moment(input).utc());

Я ожидаю, что датабыть преобразован в EST, который будет 2019-09-19 09:07:09

Есть идеи, как решить эту проблему?Спасибо!

1 Ответ

2 голосов
/ 20 сентября 2019

попробуйте это:

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