Конвертируйте’ yyyy-mm-ddThh:mm-offset ‘в’ yyyy-mm-dd HH:mm ‘ в moment.js

Я пытаюсь преобразовать время UTC в часовой пояс пользователя.

Происходит то, что:

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 ответ

  1. используйте utc()функцию, предоставляемую MomentJS:

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

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

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

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