Mam obiekt Date()
zawierający datę UTC, którą muszę przekonwertować na strefę czasową użytkownika. Czy ktoś wie, jak mogłem to zrobić? :-)Javascript: Konwertuj obiekt Date() UTC na lokalną strefę czasową
Odpowiedz
Zazwyczaj tworzę nowy obiekt Date
i używam funkcji Date.setUTC*
do kopiowania informacji o dacie.
Jestem prawie pewny, że zrobiono to automatycznie.
>>> d = new Date('Fri, 10 Jun 2011 19:49:23 UTC');
Sat Jun 11 2011 07:49:23 GMT+1200 (New Zealand Standard Time)
>>> d.getHours();
7
Tak, ale parsowanie metoda działa inaczej od przeglądarki do przeglądarki, o ile wiem. –
To jest stary wątek, ale na wypadek, gdyby ktoś inny natknął się na ten problem, oto jak obejść ten problem.
W moim przykładzie, chciałem moją usługę ASP.Net wrócić daty lokalnej strefy czasowej użytkownika, chociaż wartości daty były przechowywane w SQL Server w strefie czasowej UTC.
I stwierdzono za nas: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC
Sposób używania jest on: zmienna X = Date.UTC (YYYY mangmo, dd, HH, MI, SS, MS); // teraz x to znacznik czasu w milisekundach (jest to liczba, a nie obiekt Date) var y = new Data (x); // y jest teraz obiekt Date mówiłeś, że chciał argumenty Date.UTC
są następujące:
yyyy
jest rok (na przykład, 1984
lub 2016
)
mangmo
jest zniekształcone miesiąc (liczba od 0 do 11)
dd
dzień miesiąca (nie jest zniekształcone, to jest takie same, jak zegarek lub ściany kalendarzowego)
hh
jest porze dnia (od 0 do 23)
mi
jest Minu tes, ss
to sekundy, ms
to milisekundy (nie sądzę, że muszę to wyjaśnić)
Istnieje skrypt, który przeszukuje stronę pod kątem dat sformatowanych jako mikroformat daty i zastępuje je lokalną wersją użytkownika: http://features.sheep.art.pl/LocalTimeAndDate –
Dzięki, jeśli spojrzysz na javascript na dole http://twtm.in/lw zobaczysz, co zrobiłem :-) – tarnfeld