Krav: For at forbedre brugeroplevelsen bør hjemmesiden vise det tilsvarende tidspunkt i henhold til den nuværende brugers tidszone, indhente den aktuelle browsers tidszoneinformation via js og sende den videre til backend, og derefter vise de behandlede data til brugeren. (Eller front-end dataene konverteres)
JavaScript henter tidszonen for den aktuelle klient
Intl-objektet er et navnerum for ECMAScript-internationaliserings-API'en, som giver præcis strengsammenligning, talformatering og datoformatering. Vi skal bruge dette API's DateTimeFormat-objekt.
For detaljer, henvises til:Hyperlink-login er synlig.
Kodeks:
Du kan se outputtet: Asien/Shanghai, hvilket er min tidszone, der er Shanghai.
UTC-tidszoneforskydning
For bedre at lokalisere visningstiden kan vi opnå UTC-tidszoneoffset for den nuværende browser og øge eller mindske UTC-tiden tilsvarende, hvilket vi kan opnå via getTimezoneOffset-metoden i Date-objektinstansen (bemærk det returnerede resultatBeløbet er centen):
Dokumentation:Hyperlink-login er synlig.
Chrome-browseren simulerer forskellige regioner, output-offset, konsollens DevTools -> More Tools -> sensoren, ændrer positionen, som vist nedenfor:
ny dato() Ons 20. sep 2023 19:47:47 GMT+0800 (Kina Standardtid) ny Date().getTimezoneOffset()
-480 ny dato() Ons 20. sep 2023 13:48:12 GMT+0200 (Mitteleuropäische Sommerzeit) ny Date().getTimezoneOffset()
-120 ny dato() Ons 20. sep 2023 08:48:19 GMT-0300 (Horário Padrão de Brasília) ny Date().getTimezoneOffset()
180 (Slut)
|