Próbuję przekonwertować czas UTC na czas lokalny. Podążałem za tym przykładem z tego linku: http://jsfiddle.net/FLhpq/4/light/ . Nie mogę uzyskać odpowiedniego lokalnego wyjścia. Na przykład, jeśli jest tutaj 10:00 rano, zamiast 10:30, otrzymam 15:30. Oto mój kod:
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);
Bez względu na to, co robię, czas zawsze wychodzi w czasie UTC. Mieszkam w Houston, więc wiem, że strefa czasowa jest problemem. Postępowałem zgodnie z kodem w linku, ale wydaje mi się, że mam czas lokalny. Co ja robię źle?
javascript
date
momentjs
Brian Scroggins
źródło
źródło
moment().format('Z')
imoment().format('ZZ')
możemy Ci pomóc. Spójrz też,(new Date()).getTimezoneOffset()
może to dla Ciebie wystarczające.utc(date)
. Po pierwsze, wiersz, wvar local = ...
którym go nie ma, może wprowadzać w błąd.Spróbuj tego:
źródło
Spróbuj tego JsFiddle
źródło
Uwaga: zaktualizuj odpowiednio format daty.
Sformatuj datę
Formatuj czas
źródło
Aby przekonwertować UTC na czas lokalny
Lub chcesz bezpośrednio uzyskać czas lokalny
źródło
Stworzyłem jedną funkcję, która konwertuje wszystkie strefy czasowe na czas lokalny.
Wymagania:
źródło