Estou tentando converter a hora UTC para a hora local. Eu tenho seguido este exemplo neste link: http://jsfiddle.net/FLhpq/4/light/ . Não consigo obter a saída local correta. Por exemplo, se são 10:30 aqui, em vez de ficarem 10:30 doentes, 15:30. Aqui está o meu código:
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);
Não importa o que eu faça, a hora sempre sai no horário UTC. Eu moro em Houston, então eu sei que o fuso horário é o problema. Segui o código no link, mas parece que é possível obter a hora local. O que estou fazendo de errado?
javascript
date
momentjs
Brian Scroggins
fonte
fonte
moment().format('Z')
emoment().format('ZZ')
pode ajudá-lo. Além disso, dê uma olhada(new Date()).getTimezoneOffset()
talvez seja o suficiente para você caso.utc(date)
. Na primeira parte, a linha quevar local = ...
não a possui pode ser enganosa.Tente o seguinte:
fonte
Experimente este JsFiddle
fonte
Nota: atualize o formato da data adequadamente.
Formatar Data
Formatar Hora
fonte
Para converter o UTC para a hora local
Ou você deseja obter diretamente a hora local
fonte
Eu criei uma função que converte todos os fusos horários em horário local.
Requisitos:
fonte