Я использую moment-timezone.js
, чтобы конвертировать UTC в America/New_York
через node.js. Я делаю это так:
Moment.js - Преобразование UTC в восточное время
var moment = require('moment-timezone');
moment.tz.add('America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0');
var now = new Date().toISOString();
now = moment(now).tz("America/New_York").toDate();
Это, кажется, работает хорошо на моей локальной машине, но когда я запускаю его на AWS Lambda, то now
время по-прежнему выводится как UTC.
Я здесь что-то не так? Я действительно не хочу использовать API, чтобы получить точное время в Нью-Йорке. Летняя экономия - самая большая проблема здесь. Благодаря!
Какой часовой пояс используется вашей локальной машиной? Где код, который выводит дату? Я уверен, что как только вы вызовете toDate(), вы теряете информацию о часовом поясе. –
Да, вы правы, при вызове toDate() используется исходный объект даты до момента. Я понял решение, и опубликую немного. –