Я использую фреймворки Moment.js и Moment-Timezone, и у меня есть объект даты Moment.js, который явно находится в часовом поясе UTC. Как я могу преобразовать это в текущий часовой пояс браузера?
var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC");
var localDate = ???
Так что было бы хорошо, если бы я мог узнать местный часовой пояс пользователя; или, в качестве альтернативы, я хотел бы преобразовать объект даты в другой объект данных, который просто использует «местный часовой пояс», независимо от того, что это на самом деле.
источник
moment-timezone
библиотекуlocal
действительно учитывает летнее время.EST
наCET
, я поставлю пример завтра, если хотитеNY
->Madrid
. Я приму контрпример :)var dateFormat = 'YYYY-DD-MM HH:mm:ss'; var testDateUtc = moment.utc('2015-01-30 10:00:00'); var localDate = testDateUtc.local(); console.log(localDate.format(dateFormat)); // 2015-30-01 02:00:00
См .: http://momentjs.com/docs/#/manipulating/local/
источник
Вот что я сделал:
var timestamp = moment.unix({{ time }}); var utcOffset = moment().utcOffset(); var local_time = timestamp.add(utcOffset, "minutes"); var dateString = local_time.fromNow();
Где
{{ time }}
метка времени utc.источник
Используйте функцию utcOffset.
var testDateUtc = moment.utc("2015-01-30 10:00:00"); var localDate = moment(testDateUtc).utcOffset(10 * 60); //set timezone offset in minutes console.log(localDate.format()); //2015-01-30T20:00:00+10:00
источник