Wymagania: Aby poprawić doświadczenie użytkownika, strona powinna wyświetlać odpowiadający czas zgodnie ze strefą czasową aktualnego użytkownika, pobierać informacje o aktualnej strefie czasowej przeglądarki za pomocą js i przekazywać je do backendu, a następnie wyświetlać przetworzone dane użytkownikowi. (Albo dane front-end są konwertowane)
JavaScript otrzymuje strefę czasową aktualnego klienta
Obiekt Intl to przestrzeń nazw dla ECMAScript International API, która zapewnia precyzyjne porównanie ciągów znaków, formatowanie liczb oraz daty. Musimy użyć obiektu DateTimeFormat tego API.
Szczegóły można znaleźć w:Logowanie do linku jest widoczne.
Kod:
Możesz zobaczyć wynik: Azja/Szanghaj, czyli moja strefa czasowa to Szanghaj.
Przesunięcie strefy czasowej UTC
Aby lepiej zlokalizować czas wyświetlania, możemy uzyskać przesunięcie strefy UTC w obecnej przeglądarce i odpowiednio zwiększyć lub zmniejszyć czas UTC, co możemy uzyskać za pomocą metody getTimezoneOffset instancji obiektu Date (zwróć uwagę na zwrócony wynikJednostką jest cent):
Dokumentacja:Logowanie do linku jest widoczne.
Przeglądarka Chrome symuluje różne regiony, wychodzi przesunięty, konsola DevTools -> More Tools -> czujnik, modyfikuje pozycję, jak pokazano poniżej:
nowa data() Śr 20 września 2023 19:47:47 GMT+0800 (czas chiński standardowy) new Date().getTimezoneOffset()
-480 nowa data() Śr 20 wrz 2023 13:48:12 GMT+0200 (Mitteleuropäische Sommerzeit) new Date().getTimezoneOffset()
-120 nowa data() Śr 20 września 2023 08:48:19 GMT-0300 (Horário Padrão de Brasília) new Date().getTimezoneOffset()
180 (Koniec)
|