Megjelenítés dátuma és ideje Hogyan kell csinálni?
Dátumokkal és időpontokkal találkozunk ... nos, minden nap. Amikor a webről van szó, akkor azokat a mobilalkalmazásaiban, az e-mailekben, az üzenetkezelő alkalmazásokban és sok más helyen is megtekintheti. Mégis, annak ellenére, hogy minden nap és mindenhol látunk dátumot és időt, még nem kell egyetemes formátumot elfogadnunk.
Például, ha írok 2015/05/05, soha nem lehet biztos benne, hogy ez a "10" a hónap vagy a dátum, kivéve, ha elmondom, hogy hol vagyok. Néha a formátum megváltozik, máskor a nyelv.
Fontos, hogy a webes fejlesztők figyeljenek arra a dátumra és az időre, amellyel projektjeinkben foglalkozunk, hogy tudjuk különböző földrajzi lakosok számára konfliktus nélkül. Ebben a hozzászólásban megvitatjuk mit kell elkerülni és mit kell ölelni a dátum-idő megjelenítésével kapcsolatban.
Globalizáció
Tegyük fel, hogy nem akarjuk átalakítani és különböző dátum- és időformátumokat mutatni a különböző nézők számára a világon, mit tehetünk? Egy globális formátumot választunk, és ragaszkodunk hozzá. Itt van, ahol néhány szabvány jön létre. Mielőtt eljutnánk ehhez, azt kell tanácsolnom, hogy a W3C azt javasolja, hogy az ISO 8601 dátumformátumot UTC időzónával alkalmazzuk.
ISO 8601
Az ISO 8601 egy nemzetközileg elfogadott módszert ír le a dátumok és az időpontok számokkal való ábrázolására.
És a teljes dátum formátuma; ÉÉÉÉ-HH-NN
, például: 2015/07/28
ÉÉÉÉ = 4 számjegyű év
MM = 2 számjegyű hónap (01 = január stb.)
DD = 2 számjegyű nap (01-től 31-ig)
A teljes dátumidő;ÉÉÉÉ-HH-NNTóó: PP: MM.m
, például: 2015-07-28T21: 15: 18,45
T = A dátum és az idő elválasztása az ISO 8601 szerint
mm = 2 számjegyű perc (00-tól 59-ig)
ss = 2 számjegyű (00-tól 59-ig)
s = másodperc, egy vagy több számjegy
Kérjük, vegye figyelembe, hogy mivel a fenti példában nincs időzóna, úgy kell feltételezni, hogy az idő a helyi időzónában van. Ha úgy döntött, hogy az UTC időzónát használja, add hozzá Z az UTC értékre
Például: 2015-07-28T21: 15: 18.45Z
De ha helyi időt szeretne megjeleníteni, akkor hozzáadhat egy időzóna eltolás az UTC-nek a formátumok értékéhez +hh: mm
vagy -hh: mm
szükség szerint.
Például: Tegyük fel 2015-07-28T21: 15: 18,45
az EST (keleti standard idő) időzónában van, amely 5 órával az UTC időzóna mögött marad.
Ahhoz, hogy UTC-ellentételezéssel jelenítsük meg, írjuk 2015-07-28T21: 15: 18,45-05: 00
amely megfelel az UTC időnek 2015-07-29T02: 15: 18.45Z
.
Újra Z csatolva van, hogy a megjelenített dátum-idő UTC-időpontban legyen.
UTC vs. GMT
Mindkettő ugyanaz, de más. Mostanáig valószínűleg legalább egyszer találkoztál a GMT-vel; a dátum-idő beállítása mobiltelefonján vagy számítógépén. Ez a világszerte legismertebb időzóna, hiszen az UTC-nél hosszabb ideig létezik.
Míg egyesek azt mondhatják, hogy mindkettő ugyanaz, de nem, az UTC a GMT utódja, és a Nemzetközi Távközlési Unió fenntartja. Javasoljuk, hogy az UTC-n alapuló időt, és nem a GMT-t használja.
Használja a hónapok nevét
Az ISO szabvány csak a dátum ábrázolásában használt számokat használt, hogy elkerülje a nyelvi konfliktusokat. De ha a webes alkalmazás tartalma angol nyelven fog megjelenni, akkor fontolja meg, hogy a hónapokat angol nyelven írja le, nem pedig számokat.
Ahelyett 2015/07/28
, 2015. július 28.
sokkal könnyebben érthető, és kevésbé zavaró.
Honosítás
Vannak idők, amikor nagyon specifikusak akarunk lenni a szolgáltatásainkkal, és a dátumot és az időt helyi időzónákban és nyelveken szeretnénk képviselni. Számos könyvtár és API áll rendelkezésre a webes fejlesztők számára, hogy kihasználják és megjelenítsék a dátumokat és az időket a hozzáférési régióban.
A böngésző alapértelmezett területi beállítását a Accept-Language
kérés fejlécén vagy a navigator.language vagy navigator.browserLanguage
JavaScript objektum, de a legjobb módszer hagyja, hogy a felhasználó válasszon helyet az alkalmazásban mivel az előbbi módszerek nem túl megbízhatóak.
Miután megkapta a helyszínt, formázhatja a dátum időt, például a Internacionalizációs API, formázhatja a dátumot toLocaleDateString
például a JavaScript-ben, myDate.toLocaleDateString ( 'ko-KR')
visszaadja a formázott dátumot a koreai nyelvű bennszülöttek által használt koreai formátumban.
Nyári időszámítás (DST)
Bizonyos országokban a nyári időszámítás a nyáron egy órával továbbítja az órákat, hogy kihasználhassa a rendelkezésre álló extra napfényt. Legyen tudatában a DST-nek, hogy lépést tartson a helyi időkkel.
Nincs két számjegyű év
A lokalizálás dátumának és idejének testreszabása közben ne használja az év kétjegyű formátumát. Már a 21. században vagyunk. Évek óta 64
, 99
a jövőben is zavaró lesz. Ha már létezik egy kétjegyű éves rendszer, fontolja meg annak megváltoztatását.
Leap Year és más naptárak
Végezzük el ezt a hozzászólást néhány különféle dologgal, amelyekre emlékeztetni kell a dátumokkal kapcsolatban. Ha nem használ könyvtárat vagy API-t dátumokhoz, és szeretne velük foglalkozni (ami az nem mindazonáltal ajánlott), ne felejtsük el, hogy február 29-én mutassák be az ugrás éveinek bemenetét.
Azt is érdemes megjegyezni, hogy a A gregorián naptár nem az egyetlen, a rendelkezésre álló és használt naptár az egész világon. Kevés regionális naptár van, amit a helyiek követnek, különösen az ünnepségekről.
Irodalom
- Nemzetközi Távközlési Unió: A koordinált univerzális idő (UTC) tanulmánya az ITU-R-ben
- ISO: ISO 8601 - Dátum és idő formátum
- Wikipédia: koordinált világidő
- Wikipedia: nyári időszámítás
- Wikipédia: Greenwichi idő
- W3C Megjegyzés: Dátum és idő formátumok
- W3C Tippek: Használjon nemzetközi dátumformátumot (ISO)