Główna » Kodowanie » Wyświetl datę i godzinę Jak to zrobić prawidłowo

    Wyświetl datę i godzinę Jak to zrobić prawidłowo

    Spotykamy je z datami i czasem… cóż, każdego dnia. Jeśli chodzi o Internet, możesz je zauważyć w aplikacjach mobilnych, w wiadomościach e-mail, w aplikacjach do przesyłania wiadomości i wielu innych miejscach. Mimo to widzę datę i godzinę każdego dnia i wszędzie, nie przyjęliśmy jeszcze uniwersalnego formatu.

    Na przykład, jeśli piszę 10.05.2015, nigdy nie będziesz pewien, czy „10” to miesiąc lub data, chyba że powiem ci, skąd jestem. Czasami format zmienia się, innym razem język.

    Ważne jest, że jako twórcy stron internetowych zwracamy uwagę na datę i godzinę, z którymi mamy do czynienia w naszych projektach, abyśmy mogli zaspokoić ich do różnych mieszkańców geograficznych bez żadnego konfliktu. W tym poście będziemy dyskutować czego unikać i co ogarnąć jeśli chodzi o wyświetlanie daty i godziny.

    Globalizacja

    Powiedzmy, że nie chcemy konwertować i wyświetlać różnych formatów daty i czasu różnym widzom na całym świecie, co możemy zrobić? Wybieramy jeden format globalny i trzymamy się go. Oto, gdzie wchodzą w grę niektóre standardy. Zanim do tego dojdzie, muszę poinformować, że W3C zaleca stosowanie formatu daty ISO 8601 ze strefą czasową UTC.

    ISO 8601

    ISO 8601 opisuje międzynarodowo akceptowany sposób przedstawiania dat i godzin za pomocą liczb.

    A format pełnej daty to; RRRR-MM-DD, na przykład: 2015-07-28

    RRRR = 4 cyfry rokuMM = 2-cyfrowy miesiąc (01 = styczeń itd.)DD = 2-cyfrowy dzień (od 01 do 31)

    Dla pełnej daty i godziny;RRRR-MM-DDThh: mm: ss.s, na przykład: 2015-07-28T21: 15: 18.45

    T = Oddzielić datę i godzinę zgodnie z ISO 8601mm = 2-cyfrowa minuta (od 00 do 59)ss = 2 cyfry sekundy (od 00 do 59)s = ułamek dziesiętny drugiej, 1 lub więcej cyfr

    Należy pamiętać, że ponieważ w powyższym przykładzie nie wspomniano o żadnej strefie czasowej, należy założyć, że czas jest w lokalnej strefie czasowej. Jeśli zdecydowałeś się użyć strefy czasowej UTC, po prostu dodaj Z do wartości oznaczającej UTC

    Na przykład: 2015-07-28T21: 15: 18.45Z

    Ale jeśli chcesz wyświetlić czas lokalny, możesz dodać przesunięcie strefy czasowej dla UTC do wartości w formatach +hh: mm lub -hh: mm w razie potrzeby.

    Na przykład: Załóżmy 2015-07-28T21: 15: 18.45 jest w strefie czasowej EST (Eastern Standard Time), która opóźnia się o 5 godzin za strefą czasową UTC.

    Aby to przedstawić za pomocą przesunięcia UTC, piszemy 2015-07-28T21: 15: 18.45-05: 00 co odpowiada czasowi UTC 2015-07-29T02: 15: 18.45Z.

    Jeszcze raz Z jest dołączony, aby pokazać, że wyświetlana data jest w czasie UTC.

    UTC vs. GMT

    Obie są takie same, ale różne. Do tej pory prawdopodobnie natknąłeś się na GMT przynajmniej raz; podczas ustawiania daty w telefonie komórkowym lub komputerze. Jest to najpopularniejsza strefa czasowa rozpoznawana na całym świecie, ponieważ istnieje dłużej niż UTC.

    Chociaż niektórzy mogą powiedzieć, że oba są takie same, ale nie są, UTC jest następcą GMT i jest utrzymywany przez International Telecommunications Union. Zaleca się, aby odnosić się do czasu na podstawie UTC, a nie GMT.

    Użyj nazwy miesięcy

    Standard ISO używał tylko liczb w reprezentacji daty, aby uniknąć konfliktów językowych. Ale jeśli zawartość twojej aplikacji internetowej będzie w języku angielskim, powinieneś rozważyć zapisanie miesięcy w języku angielskim, a nie liczbowym.

    Zamiast 2015-07-28, 28 lipca 2015 r jest łatwiejszy do zrozumienia dla wielu i mniej mylący.

    Lokalizacja

    Są chwile, kiedy chcemy być bardzo specyficzni z naszymi usługami i chcielibyśmy przedstawić datę i godzinę w lokalnych strefach czasowych i językach. Istnieje wiele bibliotek i interfejsów API dostępnych dla twórców stron internetowych, aby mogli korzystać z i wyświetlać daty i godziny według regionu dostępu.

    Domyślne ustawienia regionalne przeglądarki można uzyskać, interpretując Akceptuj-język nagłówek żądania lub przez navigator.language lub navigator.browserLanguage Obiekt JavaScript, ale najlepszą metodą jest pozwól użytkownikowi wybrać ustawienia regionalne w swojej aplikacji ponieważ poprzednie sposoby nie są bardzo wiarygodne.

    Po uzyskaniu ustawień regionalnych możesz sformatować czas daty zgodnie z tym, na przykład używając API internacjonalizacji, możesz sformatować datę za pomocą toLocaleDateString na przykład w JavaScript, myDate.toLocaleDateString ('ko-KR') zwróci sformatowaną datę w formacie używanym w Korei przez tubylców mówiących po koreańsku.

    Czas letni (DST)

    W niektórych krajach czas letni jest przekazywany przez przesunięcie zegarów o godzinę w lecie, aby wykorzystać dodatkowe dostępne światło słoneczne. Pamiętaj o DST, aby być na bieżąco z lokalnymi czasami w swoich usługach.

    Nie ma dwóch cyfr roku

    Podczas dostosowywania daty i godziny dla lokalizacji nie należy w żadnym momencie używać formatu dwucyfrowego dla roku. Jesteśmy już w XXI wieku. Używam lat 64, 99 itd. będzie kłopotliwe w przyszłości. Jeśli masz już dwucyfrowy system roku, rozważ jego zmianę.

    Rok przestępny i inne kalendarze

    Zakończmy ten post kilkoma różnymi rzeczami do zapamiętania podczas obchodzenia się z datami. Jeśli nie korzystasz z żadnej biblioteki lub interfejsu API dla dat i lubisz się nimi zajmować samodzielnie (czyli nie mimo to polecam, nie zapomnijcie pokazać 29 lutego danych wejściowych za lata przestępne.

    Ponadto warto zauważyć, że Kalendarz gregoriański nie jest jedyną dostępną i używaną formą kalendarza na całym świecie. Jest kilka kalendarzy regionalnych, które śledzą miejscowi, zwłaszcza jeśli chodzi o uroczystości.

    Referencje

    • Międzynarodowe Stowarzyszenie Telekomunikacji: Status skoordynowanego czasu uniwersalnego (UTC) w ITU-R
    • ISO: ISO 8601 - Format daty i godziny
    • Wikipedia: Coordinated Universal Time
    • Wikipedia: Czas letni
    • Wikipedia: Greenwich Mean Time
    • W3C Uwaga: Formaty daty i godziny
    • Porady W3C: Użyj międzynarodowego formatu daty (ISO)