Követelmények: A felhasználói élmény javítása érdekében a weboldalnak meg kell jelenítenie a megfelelő időt a jelenlegi felhasználó időzónája szerint, meg kell szereznie a böngésző aktuális időzónájának adatait a js-en keresztül, és továbbítania a háttérrendszernek, majd megjeleníteni kell a feldolgozott adatokat a felhasználónak. (Vagy a front-end adatokat konvertálják)
A JavaScript megkapja az aktuális kliens időzónáját
Az Intl objektum az ECMAScript nemzetköziesítési API névtere, amely pontos string-összehasonlítást, számformázást és dátumformázást biztosít. Használnunk kell ennek az API-nak a DateTimeFormat objektumát.
Részletekért kérjük, lásd:A hiperlink bejelentkezés látható.
Kód:
Láthatod a kimenetet: Ázsia/Sanghaj, ami az én időzónám, Sanghaj.
UTC időzóna eltolása
A megjelenítési idő jobb lokalizálása érdekében megkaphatjuk az aktuális böngésző UTC időzóna eltolását, és ennek megfelelően növelhetjük vagy csökkenthetjük az UTC időt, amit a Date objektum példányának getTimezoneOffset módszerével szerezhetünk meg (figyeld meg a visszaadott eredménytAz egység a cent.):
Dokumentáció:A hiperlink bejelentkezés látható.
A Chrome böngésző szimulálja a különböző régiókat, kimeneti offsetet képez, a konzol DevTools -> More Tools -> szenzor, módosítja a pozíciót, ahogy az alábbiakban látható:
new Date() 2023. szept. 20., szerda, 19:47:47 GMT+0800 (Kínai normál idő) new Date().getTimezoneOffset()
-480 new Date() 2023. szept. 20., szerda, 13:48:12 GMT+0200 (Mitteleuropäische Sommerzeit) new Date().getTimezoneOffset()
-120 new Date() 2023. szeptember 20., szerda, 08:48:19 GMT-0300 (Horário Padrão de Brasília) new Date().getTimezoneOffset()
180 (Vége)
|