Početna » šifriranje » Prikaz datuma i vremena Kako to učiniti ispravno

    Prikaz datuma i vremena Kako to učiniti ispravno

    Nalazimo se na njima datumi i vrijeme ... pa, svaki dan. Kada je riječ o webu, možete ih uočiti u mobilnim aplikacijama, u porukama e-pošte, u aplikacijama za razmjenu poruka i na mnogim drugim mjestima. Ipak, unatoč tome što se svaki dan i svugdje vidi datum i vrijeme, moramo usvojiti univerzalni format za to.

    Na primjer, ako napišem 10.5.2015, nikada ne možete biti sigurni da li je "10" mjesec ili datum, osim ako vam ne kažem odakle sam. Ponekad se format mijenja, a ponekad i jezik.

    Važno je da kao web programeri obratimo pozornost na datum i vrijeme s kojim se bavimo u našim projektima, tako da možemo opskrbiti ih različitim geografskim stanovnicima bez sukoba. U ovom postu ćemo raspravljati što izbjegavati i što prihvatiti kada je u pitanju prikaz datuma-vremena.

    Globalizacija

    Recimo da ne želimo pretvoriti i prikazati različite formate datuma i vremena različitim gledateljima širom svijeta, što možemo učiniti? Odabiramo jedan globalni format i držimo ga se. Ovdje se pojavljuju neki standardi. Prije nego što dođemo do toga, moram savjetovati da W3C preporučuje da koristimo ISO 8601 format datuma s UTC vremenskom zonom.

    ISO 8601

    ISO 8601 opisuje međunarodno prihvaćeni način predstavljanja datuma i vremena pomoću brojeva.

    I format za potpuni datum je; GGGG-MM-DD, na primjer: 2015/07/28

    GGGG = godina s 4 znamenkeMM = mjesec s 2 znamenke (01 = siječanj itd.)DD = dvoznamenkasti dan (01 do 31)

    Za potpuni datum-vrijeme;GGGG-MM-DDThh: mm: ss.s, na primjer: 2015-07-28T21: 15: 18.45

    T = Odvajanje datuma i vremena u skladu s ISO 8601mm = 2 znamenke minute (od 00 do 59)ss = sekunda od 2 znamenke (od 00 do 59)s = decimalni dio sekunde, 1 ili više znamenki

    Imajte na umu da, budući da u gornjem primjeru nije spomenuta vremenska zona, pretpostavlja se da je vrijeme u lokalnoj vremenskoj zoni. Ako ste odlučili koristiti UTC vremensku zonu, samo dodajte Z na vrijednost koja označava UTC

    Na primjer: 2015-07-28T21: 15: 18.45Z

    Ali ako želite prikazati lokalno vrijeme, možete dodati a pomak vremenske zone za UTC na vrijednost u formatima +hh: mm ili -hh: mm po potrebi.

    Na primjer: Pretpostavimo 2015-07-28T21: 15: 18.45 je u vremenskoj zoni EST (istočno standardno vrijeme) koja zaostaje 5 sati iza UTC vremenske zone.

    Da bismo ga predstavili s UTC pomakom, pišemo 2015-07-28T21: 15: 18,45-05: 00 što je ekvivalentno UTC vremenu 2015-07-29T02: 15: 18.45Z.

    Opet Z dodaje se da prikazuje prikazano vrijeme i datum u UTC vremenu.

    UTC prema GMT

    Oboje su isti, ali različiti. Do sada ste vjerojatno barem jednom naišli na GMT; tijekom podešavanja datuma i vremena na mobilnom telefonu ili računalu. To je najpopularnija vremenska zona priznata u svijetu, budući da postoji duže od UTC-a.

    Dok neki mogu reći da su oboje isti, ali nisu, UTC je nasljednik GMT-a i održava ga Međunarodna telekomunikacijska unija. Preporučuje se da se odnosi na vrijeme temeljeno na UTC, a ne GMT.

    Koristite naziv mjeseca

    ISO standard koristi samo brojeve u prikazu datuma kako bi se izbjegli jezični sukobi. No, ako će sadržaj web-aplikacije biti na engleskom jeziku, razmislite o pisanju mjeseci na engleskom, a ne u brojkama.

    Umjesto 2015/07/28, 28. srpnja 2015 mnogo je lakše razumjeti i manje zbunjujuće.

    lokalizacija

    Postoje slučajevi kada želimo biti vrlo specifični s našim uslugama i želimo predstaviti datum i vrijeme u lokalnim vremenskim zonama i jezicima. Postoji mnogo knjižnica i API-ja dostupnih za web-programere koji koriste i prikazuju datume i vrijeme prema regiji koja pristupa.

    Privremenu oznaku preglednika možete dobiti tumačenjem Accept-Language ili zaglavlje zahtjeva navigator.language ili navigator.browserLanguage JavaScript objekt, ali najbolji je način neka korisnik odabere mjesto u vašoj aplikaciji budući da prethodni načini nisu vrlo pouzdani.

    Nakon što imate lokalizaciju, možete formatirati datum prema njemu, primjerice pomoću API za internacionalizaciju, možete formatirati datum pomoću toLocaleDateString na primjer, u JavaScriptu, myDate.toLocaleDateString ( 'ko-KR') će vratiti formatirani datum u formatu koji koriste korejski domoroci.

    Ljetno vrijeme (DST)

    U nekim zemljama, ljetno računanje vremena vrši se prosljeđivanjem satova za sat vremena ljeti kako bi se iskoristila dodatna raspoloživa sunčeva svjetlost. Budite svjesni DST-a kako biste pratili lokalna vremena u svojim uslugama.

    Nema dvogodišnje godine

    Prilikom prilagodbe datuma i vremena za lokalizaciju nemojte u bilo kojem trenutku koristiti dvoznamenkasti format za godinu. Već smo u 21. stoljeću. Korištenje godina kao 64, 99 u budućnosti će biti problematično. Ako već imate sustav s dvije znamenke, razmislite o promjeni.

    Prijestupna godina i ostali kalendari

    Dopustite nam da završimo ovaj post s raznim stvarima koje treba zapamtiti dok se bavimo datumima. Ako ne koristite bilo koju knjižnicu ili API za datume i volite se baviti njima sami (to jest ne preporučeno svejedno), ne zaboravite pokazati 29. veljače u ulazu za prijestupnu godinu.

    Također, vrijedi napomenuti da je Gregorijanski kalendar nije jedini oblik kalendara koji je dostupan i korišten diljem svijeta. Postoji nekoliko regionalnih kalendara koje mještani slijede, pogotovo kada su u pitanju svečanosti.

    Reference

    • Međunarodna telekomunikacijska unija: Studija o koordiniranom univerzalnom vremenu (UTC) u ITU-R
    • ISO: ISO 8601 - Format datuma i vremena
    • Wikipedija: Koordinirano univerzalno vrijeme
    • Wikipedia: Ljetno vrijeme
    • Wikipedia: Greenwich Mean Time
    • W3C Napomena: Formati datuma i vremena
    • W3C Savjeti: Koristite međunarodni format datuma (ISO)