Prikaz datuma in časa Kako to storiti prav
Srečujemo jih z datumi in časom… vsak dan. Ko gre za splet, jih lahko opazite v svojih mobilnih aplikacijah, v e-poštnih sporočilih, v aplikacijah za pošiljanje sporočil in na številnih drugih mestih. Kljub temu, da vidimo datum in čas vsak dan in povsod, za to še nismo sprejeli univerzalne oblike.
Na primer, če napišem 10/05/2015, nikoli ne morete biti prepričani, ali je "10" mesec ali datum, razen če vam povem, od kod sem. Včasih se spremeni format, včasih pa tudi jezik.
Pomembno je, da kot spletni razvijalci posvečamo pozornost datumu in času, ki ga obravnavamo v naših projektih, tako da lahko poskrbi za različne geografske prebivalce brez spora. V tem prispevku bomo razpravljali kaj se je treba izogniti in kaj sprejeti ko gre za prikaz datuma-časa.
Globalizacija
Recimo, da ne želimo pretvoriti različnih formatov za datum in čas za različne gledalce po vsem svetu, kaj lahko storimo? Izberemo en globalni format in ga držimo. Tukaj se pojavljajo nekateri standardi. Preden pridemo do tega, moram svetovati, da W3C priporoča uporabo formata datuma ISO 8601 s časovnim pasom UTC.
ISO 8601
ISO 8601 opisuje mednarodno sprejet način predstavitve datumov in časov z uporabo številk.
Oblika za popolni datum je; LLLL-MM-DD
, na primer: 2015-07-28
LLLL = 4-mestno leto
MM = 2-mestni mesec (01 = januar, itd.)
DD = 2-mestni dan (01 do 31)
Za popoln datumski čas;LLLL-MM-DDThh: mm: ss
, na primer: 2015-07-28T21: 15: 18.45
T = Za ločevanje datuma in časa v skladu z ISO 8601
mm = 2-mestna minuta (od 00 do 59)
ss = 2-mestna sekunda (od 00 do 59)
s = decimalna frakcija sekunde, 1 ali več številk
Upoštevajte, da v zgornjem primeru ni naveden časovni pas, zato je treba domnevati, da je čas v lokalnem časovnem pasu. Če ste se odločili za časovni pas UTC, dodajte Z na vrednost, ki označuje UTC
Na primer: 2015-07-28T21: 15: 18.45Z
Če pa želite prikazati lokalni čas, lahko dodate a časovni zamik za UTC v vrednosti v formatih +hh: mm
ali -hh: mm
po potrebi.
Na primer: predpostavimo 2015-07-28T21: 15: 18.45
je v časovnem pasu EST (vzhodni standardni čas), ki zaostaja za 5 ur za časovnim pasom UTC.
Za predstavitev s časovnim odmikom UTC pišemo 2015-07-28T21: 15: 18.45-05: 00
ki je enakovreden UTC času 2015-07-29T02: 15: 18.45Z
.
Ponovno Z doda, da je prikazan datum-čas v času UTC.
UTC v primerjavi s GMT
Oba sta ista, vendar različna. Do sedaj ste verjetno vsaj enkrat naleteli na GMT; med nastavljanjem datuma in datuma v mobilnem telefonu ali računalniku. To je najbolj priljubljen časovni pas, priznan po vsem svetu, saj obstaja več kot UTC.
Nekateri lahko pravijo, da sta oba enaka, vendar nista, UTC je naslednik GMT in ga vzdržuje Mednarodna telekomunikacijska zveza. Priporočljivo je, da se sklicujete na čas, ki temelji na UTC in ne GMT.
Uporabite ime mesecev
Standard ISO je uporabil samo številke v predstavitvi datuma, da bi se izognili morebitnim jezikovnim konfliktom. Če pa bo vsebina vaše spletne aplikacije v angleščini, morate razmisliti o pisanju mesecev v angleščini in ne v številkah.
Namesto 2015-07-28
, 28. julij, 2015
jih je veliko lažje razumeti in manj zmedeno.
Lokalizacija
Včasih želimo biti zelo specifični pri naših storitvah in želimo predstaviti datum in čas v lokalnih časovnih pasovih in jezikih. Obstaja veliko knjižnic in API-jev, ki so na voljo spletnim razvijalcem, da uporabljajo in prikažejo datume in čas po dostopni regiji.
Privzeto lokalno nastavitev brskalnika lahko dobite z razlago Sprejmi jezik
zahtevo glave ali preko navigator.language ali navigator.browserLanguage
Objekt JavaScript, vendar je najboljša metoda naj uporabnik izbere jezik v vaši aplikaciji ker prejšnji načini niso zelo zanesljivi.
Ko imate jezik, lahko datum nastavite glede na to, na primer z uporabo API za internacionalizacijo, lahko oblikujete datum z uporabo doLocaleDateString
na primer v JavaScriptu, myDate.toLocaleDateString ('ko-KR')
bo vrnil formatiran datum v formatu, ki ga Korejci uporabljajo korejski govorci.
Poletni čas (DST)
V nekaterih državah se čas poletnega časa spremeni tako, da se ure poleti prenašajo z uro, da se izkoristi dodatna sončna svetloba. Bodite pozorni na DST, da sledite lokalnim časom v vaših storitvah.
Leto brez dveh številk
Med prilagajanjem datuma in časa za lokalizacijo na nobeni točki ne uporabljajte dvomestne oblike za leto. Smo že v 21. stoletju. Uporaba let podobnih 64
, 99
v prihodnosti bo težavno. Če že imate dvoštevilčni letni sistem, razmislite o njegovi spremembi.
Leap leto in drugi koledarji
Dovolite nam, da končamo to delovno mesto z nekaj raznovrstnimi stvarmi, ki jih morate zapomniti, ko se ukvarjate z datumi. Če ne uporabljate nobene knjižnice ali API-ja za datume in jih želite sami obravnavati (to je ne priporočeno kljub temu), ne pozabite pokazati 29. februarja v vnosu za prestopno leto.
Prav tako je treba omeniti, da Gregorijanski koledar ni edina razpoložljiva in uporabljena oblika koledarja po vsem svetu. Obstaja malo regionalnih koledarjev, ki jih domačini spremljajo, zlasti ko gre za praznovanja.
Reference
- Mednarodna telekomunikacijska zveza: študija o koordiniranem univerzalnem času (UTC) v ITU-R
- ISO: ISO 8601 - Oblika datuma in časa
- Wikipedija: Univerzalni koordinirani čas
- Wikipedija: Poletni čas
- Wikipedija: srednji čas po Greenwichu
- Opomba: Oblike zapisa datuma in časa
- Nasveti W3C: Uporabite mednarodni format datuma (ISO)