Начална » кодиране на стоките » Показване на дата и час Как да го направим

    Показване на дата и час Как да го направим

    Срещаме ги с дати и време… Е, всеки ден. Когато става въпрос за мрежата, можете да ги откриете в мобилните си приложения, в имейли, в приложенията за съобщения и в много други места. Но въпреки датата и времето всеки ден и навсякъде, все още не сме приели универсален формат за него.

    Например, ако пиша 10/05/2015, никога няма да сте сигурни дали този "10" е месецът или датата, освен ако не ви кажа откъде съм. Понякога форматът се променя, понякога езикът.

    Важно е, че като уеб разработчици обръщаме внимание на датата и часа, с които се занимаваме в нашите проекти, така че можем да ги обслужва различни географски жители без никакъв конфликт. В този пост ще обсъждаме какво да избягваме и какво да прегърнем когато става въпрос за показване на дата-час.

    Глобализация

    Да речем, че не искаме да преобразуваме и показваме различни формати за дата и час на различни зрители по света, какво можем да направим? Избираме един глобален формат и се придържаме към него. Тук са някои стандарти. Преди да стигнем до това, трябва да ви съобщя, че W3C препоръчва да използваме формата на датата ISO 8601 с UTC часовия пояс.

    ISO 8601

    ISO 8601 описва международно приетия начин за представяне на датите и часовете с помощта на цифри.

    Форматът за пълна дата е; ГГГГ-ММ-ДД, например: 28.07.2015

    ГГГГ = година от 4 цифриMM = 2 цифрен месец (01 = януари и т.н.)DD = 2 цифрен ден (01 до 31)

    За пълно време;ГГГГ-ММ-ДД чч: мм: СС.С, например: 2015-07-28T21: 15: 18.45

    T = За разделяне на датата и часа съгласно ISO 8601mm = 2 цифри минута (от 00 до 59)ss = 2-цифрена секунда (от 00 до 59)s = Десетична част от секунда, 1 или повече цифри

    Моля, имайте предвид, че тъй като в горния пример не е споменато времева зона, трябва да се приеме, че времето е в местната часова зона. Ако сте решили да използвате UTC часовата зона, просто добавете Z към стойността, обозначаваща UTC

    Например: 2015-07-28T21: 15: 18.45Z

    Но ако искате да покажете местно време, можете да добавите a отместване на часовата зона за UTC на стойността във форматите +чч: мм или -чч: мм колкото е необходимо.

    Например: Нека приемем 2015-07-28T21: 15: 18.45 е в часовата зона EST (Източно стандартно време), която изостава с 5 часа след UTC часовия пояс.

    За да го представим с UTC отместване пишем 2015-07-28T21: 15: 18.45-05: 00 което е еквивалентно на UTC времето 2015-07-29T02: 15: 18.45Z.

    Отново Z се добавя, за да се покаже, че показаното време и дата е в UTC време.

    UTC спрямо GMT

    И двамата са същите, но различни. Вече най-малко веднъж сте попаднали в GMT; докато настройвате датата и часа в мобилния си телефон или компютър. Това е най-популярният часови пояс, признат в световен мащаб, тъй като съществува по-дълго от UTC.

    Докато някои могат да кажат, че и двете са еднакви, но не са, UTC е наследник на GMT и се поддържа от Международния съюз по далекосъобщения. Препоръчително е да се отнасяте към времето, базирано на UTC, а не GMT.

    Използвайте името на месеците

    Стандартът ISO използва само числа в представянето на датата, за да се избегнат всякакви езикови конфликти. Но ако съдържанието на уеб приложението ви ще бъде на английски, трябва да помислите да напишете месеци на английски, а не на цифри.

    Вместо 28.07.2015, 28 юли 2015 г. е по-лесно за разбиране от мнозина и по-малко объркващо.

    Локализация

    Има моменти, в които искаме да бъдем много специфични с нашите услуги и бихме искали да представим датата и часа в местните часови зони и езици. Има много библиотеки и API, достъпни за уеб разработчиците, за да могат да използват и показват датите и часовете според региона на достъп.

    Можете да получите подразбирания локал на браузъра или чрез интерпретиране на Accept-Language искане заглавието или чрез navigator.language или navigator.browserLanguage JavaScript обект, но най-добрият метод е да дайте възможност на потребителя да избере локал във вашето приложение тъй като предишните начини не са много надеждни.

    След като имате локал, можете да форматирате датата според него, например с помощта на API за интернационализация, можете да форматирате датата с помощта на toLocaleDateString например в JavaScript, myDate.toLocaleDateString ( "ко-KR) ще върне форматирана дата във формат, използван в Корея от корейски говорещи местни жители.

    Лятно часово време (DST)

    В някои страни лятното часово време се извършва чрез пренасочване на часовниците с един час през лятото, за да се използва допълнителната слънчева светлина. Бъдете наясно с DST, за да следите местните времена във вашите услуги.

    Без двегодишна година

    При персонализирането на датата и часа за локализация не използвайте двуцифрения формат за годината във всяка точка. Вече сме в 21-ви век. Използване на години като 64, 99 в бъдеще. Ако вече имате двуцифрена годишна система, помислете за промяна.

    Високосна година и други календари

    Нека завършим този пост с различни неща, които трябва да запомните, докато се занимавате с дати. Ако не използвате библиотека или API за дати и обичате да се справяте с тях сами (което е не Препоръчва се все пак), не забравяйте да покажете на 29 февруари на входа за високосните години.

    Също така си струва да се отбележи, че Грегорианският календар не е единствената налична и използвана календарна форма по целия свят. Има няколко регионални календара, които местните жители следват, особено когато става въпрос за празненства.

    Препратки

    • Международен съюз по далекосъобщения: Състояние на координираното универсално време (UTC) в проучването на ITU-R
    • ISO: ISO 8601 - формат за дата и час
    • Уикипедия: Универсално координирано време
    • Уикипедия: Лятно часово време
    • Уикипедия: Средно време по Гринуич
    • W3C Забележка: Формати за дата и час
    • W3C Съвети: Използвайте международен формат на датата (ISO)