Rodyti datą ir laiką Kaip tai padaryti teisingai
Mes kasdien susiduriame su datomis ir laiku ... gerai. Kai kalbama apie internetą, galite juos atpažinti savo mobiliojo ryšio programose, el. Laiškuose, pranešimų programose ir daugelyje kitų vietų. Vis dėlto, nepaisant to, kad kiekvieną dieną ir visur matote datą ir laiką, mes dar turime priimti visuotinį jos formatą.
Pavyzdžiui, jei parašysiu 2015/05/05, niekada negalėsite būti tikri, kad „10“ yra mėnuo arba data, nebent aš jums pasakysiu, iš kur aš esu. Kartais pasikeičia formatas, kitaip - kalba.
Svarbu, kad žiniatinklio kūrėjai atkreiptų dėmesį į datą ir laiką, su kuriuo susiduriame mūsų projektuose, kad galėtume patenkinti juos skirtingiems geografiniams gyventojams be jokių konfliktų. Šiame pranešime aptarsime ką vengti ir ką priimti kai kalbama apie datos laiko rodymą.
Globalizacija
Tarkime, mes nenorime konvertuoti ir rodyti skirtingus datų ir laiko formatus skirtingiems žiūrovams visame pasaulyje, ką mes galime padaryti? Mes renkame vieną pasaulinį formatą ir laikomės jo. Čia pateikiami kai kurie standartai. Prieš tai mes turiu pasakyti, kad W3C rekomenduoja naudoti ISO 8601 datos formatą su UTC laiko juosta.
ISO 8601
ISO 8601 apibūdina tarptautiniu mastu pripažintą būdą, kaip atstovauti datas ir laikus naudojant numerius.
Ir data yra visa data; YYYY-MM-DD
, pavyzdžiui: 2015-07-28
YYYY = 4 skaitmenų metai
MM = 2 skaitmenų mėnuo (01 = sausio ir tt)
DD = 2 skaitmenų diena (nuo 01 iki 31)
Už visą datos laiką;YYYY-MM-DDThh: mm: ss.s
, pavyzdžiui: 2015-07-28T21: 15: 18.45
T = atskirti datą ir laiką pagal ISO 8601
mm = 2 skaitmenų minutė (nuo 00 iki 59)
ss = 2 skaitmenų sekundė (nuo 00 iki 59)
s = antrosios, 1 ar daugiau skaitmenų dešimtainė dalis
Atkreipkite dėmesį, kad pirmiau pateiktame pavyzdyje nebuvo paminėta laiko juosta, todėl reikia manyti, kad laikas yra vietos laiko juostoje. Jei nusprendėte naudoti UTC laiko juostą, tiesiog pridėkite Z reikšmę, nurodančią UTC
Pavyzdžiui: 2015-07-28T21: 15: 18.45Z
Bet jei norite parodyti vietinį laiką, galite pridėti a laiko juostos poslinkis už UTC reikšmę formatuose +hh: mm
arba -hh: mm
prireikus.
Pavyzdžiui: Tarkime 2015-07-28T21: 15: 18.45
yra EST (Rytų standartinis laikas) laiko juostoje, kuri atsilieka nuo 5 valandų už UTC laiko juostos.
Atstovauti jį su UTC kompensavimu mes rašome 2015-07-28T21: 15: 18.45-05: 00
kuri atitinka UTC laiką 2015-07-29T02: 15: 18.45Z
.
Vėlgi Z pridedama, kad būtų rodoma, kad rodomas datos laikas yra UTC laiku.
UTC vs GMT
Jie abu yra vienodi, tačiau skirtingi. Iki šiol jūs tikriausiai susidūrėte su GMT bent kartą; nustatydami datos laiką savo mobiliajame telefone ar kompiuteryje. Tai yra populiariausias laiko tarpas, pripažintas visame pasaulyje, nes jis egzistuoja ilgiau nei UTC.
Nors kai kurie gali pasakyti, kad jie abu yra vienodi, tačiau jie nėra, UTC yra GMT įpėdinis ir ją prižiūri Tarptautinė telekomunikacijų sąjunga. Patartina nurodyti laiką, pagrįstą UTC, o ne GMT.
Naudokite mėnesių pavadinimą
Siekiant išvengti bet kokių kalbos konfliktų, ISO standartas naudojo tik datą. Tačiau, jei jūsų žiniatinklio programos turinys bus anglų kalba, turėtumėte apsvarstyti mėnesio rašymą anglų kalba, o ne skaičiais.
Vietoj 2015-07-28
, 2015 m. Liepos 28 d
yra lengviau suprantama daugeliui, ir mažiau paini.
Lokalizavimas
Kartais mes norime būti labai specifiški su mūsų paslaugomis ir norėtume atstovauti datą ir laiką vietiniais laiko juostomis ir kalbomis. Yra daug bibliotekų ir API, skirtų interneto svetainių kūrėjams, kad jie galėtų naudoti ir rodyti datas ir laikus, susijusius su prieigos regionu.
Numatytąjį naršyklės naršyklę galite gauti aiškindami Priimti kalbą
užklausos antraštę arba per navigator.language arba navigator.browserLanguage
„JavaScript“ objektas, bet geriausias būdas yra leiskite naudotojui pasirinkti jūsų taikomąją vietą kadangi pirmieji būdai nėra labai patikimi.
Kai turėsite lokalę, galite formatuoti datą pagal jį, pvz., Naudodami Internacionalizavimo API, galite formatuoti datą naudodami toLocaleDateString
pvz., „JavaScript“, myDate.toLocaleDateString ('ko-KR')
grąžins suformatuotą datą tokiu formatu, kokį Korėjos kalba naudoja Korėjos kalba.
Vasaros laikas (DST)
Kai kuriose šalyse vasaros laikas vasarą atliekamas per valandą, kad būtų galima naudotis papildoma saulės šviesa. Atkreipkite dėmesį į DST, kad neatsiliktų nuo vietinių paslaugų laiko.
Nėra dviejų skaitmenų metų
Naudodami lokalizavimo datą ir laiką, bet kuriuo metu nenaudokite metų dvejų skaitmenų formato. Mes jau esame XXI amžiuje. Naudojant metus 64
, 99
ir tt bus varginantis ateityje. Jei jau turite dviejų skaitmenų metų sistemą, apsvarstykite galimybę jį pakeisti.
Šuolių metai ir kiti kalendoriai
Baigkime šį įrašą su kai kuriais įvairiais dalykais, kuriuos reikia prisiminti sprendžiant datas. Jei nenaudojate jokios bibliotekos ar API datoms ir norėtumėte su jais elgtis patys (tai yra ne nepaisant to, nepamirškite parodyti, kad vasario 29 d.
Taip pat verta pažymėti, kad Grigaliaus kalendorius nėra vienintelė turima ir naudojama kalendoriaus forma visame pasaulyje. Yra keletas regioninių kalendorių, kuriuos vietiniai gyventojai seka, ypač kai kalbama apie šventes.
Nuorodos
- Tarptautinė telekomunikacijų sąjunga: koordinuojamo pasaulinio laiko (UTC) studija ITU-R
- ISO: ISO 8601 - Datos ir laiko formatas
- Vikipedija: koordinuotas pasaulinis laikas
- Vikipedija: vasaros laikas
- Vikipedija: Grinvičo laikas
- W3C Pastaba: datos ir laiko formatai
- W3C patarimai: naudokite tarptautinį datos formatą (ISO)