2016-11-08 4 views
0

Я пытаюсь преобразовать время UTC в часовой пояс пользователя.Конвертировать 'yyyy-mm-ddThh: mm-offset' формат в 'yyyy-mm-dd HH: mm' в moment.js

Что происходит в том, что:

let con = this.$rootScope.mtz.tz(utcTime, timeZoneInfo.usersTimeZone).local().format(); 

вернет мне что-то вроде этого: 2016-11-09T14:00-05:00 (client is UTC-5).

Результат правильный, но как получить локальную дату-время вместо значения смещения?

Вместо этого: 2016-11-09T14:00-05:00, я хочу: 2016-11-09 09:00?

Когда я делаю это:

let con = this.$rootScope.mtz.tz(utcTime, timeZoneInfo.usersTimeZone).local().format("YYYY-MM-DD HH:mm"); 

Что я получаю за это результат: 2016-11-09 14:00.

Он применяет формат, но не преобразуется в местный часовой пояс.

+1

, что у вас есть правильно 2016-11-09 14:00. смещение не является частью местного времени, его просто смещение от UTC. Добавьте это смещение в местное время, вы получите UTC. Не знаете, почему вы хотите уменьшить его по значению смещения. – Veeram

ответ

0

использовать utc() function provided by MomentJS:

По умолчанию момент разбирает и отображает местное время.

Если вы хотите разобрать или отобразить момент в UTC, вы можете использовать moment.utc() вместо момента().

Таким образом, вы можете изменить свой код и заменить вызов local() с utc():

let con = this.$rootScope.mtz.tz(utcTime, timeZoneInfo.usersTimeZone).utc().format(); 
Смежные вопросы