Я конвертирую разные часовые пояса в формат UT C, используя Момент JS неправильно, но я получаю отображение времени на летнее время:
- Преобразование в 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]');
У меня на час вперед.