Преобразование разных часовых поясов в формат UT C с использованием Moment JS, но отображается неверное время - PullRequest
0 голосов
/ 24 марта 2020

Я конвертирую разные часовые пояса в формат UT C, используя Момент JS неправильно, но я получаю отображение времени на летнее время:

  1. Преобразование в stringDate и добавление часового пояса дает смещение. После этого конвертируем в UT C
dateTimeToZone(date, timezone) {
  if (!date) {
    return date;
  }
  let timezoneName;
  if (timezone) {
    timezoneName = timezone;
  } else {
    timezoneName = 'UTC';
  }

  let stringdate = moment(date).format('YYYY-MM-DD HH:mm:ss');
  let offset = moment.utc(stringdate).tz(timezoneName).utcOffset();
  return moment.utc(stringdate).utcOffset(-offset).format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');
}
При добавлении часового пояса получаем смещение
let offset = moment.utc(stringdate).tz(timezoneName).utcOffset();
Преобразование в формат UT C.
moment.utc(stringdate).utcOffset(-offset).format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');

У меня на час вперед.

...