Я пытаюсь перевести время UTC в местное время. Я следовал этому примеру по этой ссылке: http://jsfiddle.net/FLhpq/4/light/ . Я не могу получить правильный локальный вывод. Например, если сейчас 10:30 утра, вместо 10:30 заболел - 15:30. Вот мой код:
var date = moment.utc().format('YYYY-MM-DD HH:mm:ss');
var localTime = moment.utc(date).toDate();
localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
console.log("moment: " + localTime);
Что бы я ни делал, время всегда выходит в UTC. Я живу в Хьюстоне, поэтому знаю, что часовой пояс - это проблема. Я следовал за кодом в ссылке, но, кажется, получаю местное время. Что я делаю не так?
javascript
date
momentjs
Брайан Скроггинс
источник
источник
moment().format('Z')
иmoment().format('ZZ')
может помочь вам. Кроме того, взгляните,(new Date()).getTimezoneOffset()
может быть, это достаточно для вашего случая.utc(date)
. В первой части строка,var local = ...
не имеющая этого, может вводить в заблуждение.Попробуй это:
источник
Попробуйте это JsFiddle
источник
Примечание: пожалуйста, обновите формат даты соответственно.
Формат даты
Время формата
источник
Чтобы конвертировать UTC в местное время
Или вы хотите напрямую узнать местное время
источник
Я создал одну функцию, которая конвертирует все часовые пояса в местное время.
Требования:
источник