Приказ датума и времена Како да то урадите како треба
Срећемо им датуме и време ... па, сваки дан. Када је у питању Веб, можете их уочити у мобилним апликацијама, у порукама е-поште, у апликацијама за размјену порука и на многим другим мјестима. Ипак, упркос томе што виђате датум и време сваки дан и свуда, тек треба да усвојимо универзални формат за то.
На пример, ако пишем 10/05/2015, никада не можете бити сигурни да ли је "10" месец или датум, осим ако вам кажем одакле сам. Понекад се формат мења, други пут језик.
Важно је да као веб програмери обраћамо пажњу на датум и време на које се бавимо у нашим пројектима, тако да можемо снабдети их различитим географским становницима без икаквог конфликта. У овом посту ћемо разговарати шта да избегнемо и шта да прихватимо када је у питању приказ датума-времена.
Глобализација
Рецимо да не желимо претворити и приказати различите формате датума и времена различитим гледатељима широм свијета, што можемо учинити? Одабирамо један глобални формат и држимо га се. Овде су неки стандарди у игри. Пре него што дођемо до тога, морам обавестити да В3Ц препоручује да користимо ИСО 8601 формат датума са УТЦ временском зоном.
ИСО 8601
ИСО 8601 описује међународно прихваћени начин представљања датума и времена помоћу бројева.
Формат за потпуни датум је; ГГГГ-ММ-ДД
, на пример: 2015-07-28
ГГГГ = година од 4 цифре
ММ = 2 цифре месец (01 = јануар, итд.)
ДД = двоцифрени дан (01 до 31)
За потпуни датум-време;ГГГГ-ММ-ДДТхх: мм: сс
, на пример: 2015-07-28Т21: 15: 18.45
Т = Одвајање датума и времена у складу са ИСО 8601
мм = 2 цифре минуте (од 00 до 59)
сс = секунда од 2 цифре (од 00 до 59)
с = Децимална фракција секунде, 1 или више цифара
Имајте на уму да, пошто није наведена временска зона у горњем примеру, претпоставља се да је време у локалној временској зони. Ако сте одлучили да користите УТЦ временску зону, само додајте З на вредност која означава УТЦ
На пример: 2015-07-28Т21: 15: 18.45З
Али ако желите да прикажете локално време, онда можете додати а тимезоне оффсет за УТЦ на вредност у форматима +хх: мм
или -хх: мм
по потреби.
На пример: претпоставимо 2015-07-28Т21: 15: 18.45
се налази у ЕСТ (Еастерн Стандард Тиме) временској зони која заостаје 5 сати иза УТЦ временске зоне.
Да бисмо га представили са УТЦ померањем ми пишемо 2015-07-28Т21: 15: 18.45-05: 00
што је еквивалентно УТЦ времену 2015-07-29Т02: 15: 18.45З
.
Опет З додаје се да представља приказано време у УТЦ времену.
УТЦ према ГМТ
Оба су иста, али различита. До сада сте барем једном наишли на ГМТ; док подешавате датум и време на мобилном телефону или рачунару. То је најпопуларнија временска зона призната широм свијета јер постоји дуже од УТЦ-а.
Док неки могу рећи да су обоје исти, али нису, УТЦ је насљедник ГМТ-а и одржава га Међународна телекомуникацијска унија. Препоручује се да се односи на време засновано на УТЦ и не ГМТ.
Користите Име Месеца
ИСО стандард користи само бројеве у приказу датума да би се избегли било који језички конфликти. Али, ако ће садржај ваше веб апликације бити на енглеском, онда бисте требали размислити о писању мјесеци на енглеском, а не у бројевима.
Уместо 2015-07-28
, 28. јул, 2015. \ т
много је лакше разумети и мање збуњујуће.
Локализација
Постоје тренуци када желимо да будемо веома специфични са нашим услугама и желимо да представимо датум и време у локалним временским зонама и језицима. Постоји много библиотека и АПИ-ја доступних за веб програмере да користе и приказују датуме и времена према региону који приступа.
Можете добити подразумевану локализацију претраживача тако што ћете интерпретирати Прихватите језик
заглавље захтева или преко навигатор.лангуаге или навигатор.бровсерЛангуаге
ЈаваСцрипт објект, али најбољи начин је да нека корисник изабере локализацију у вашој апликацији будући да претходни начини нису веома поуздани.
Када имате локализацију, можете форматирати датум према њему, на пример користећи Интернатионализатион АПИ, можете да форматирате датум помоћу тоЛоцалеДатеСтринг
на пример, у ЈаваСцрипт-у, миДате.тоЛоцалеДатеСтринг ('ко-КР')
ће вратити форматирани датум у формату који користе корејски домороци.
Летње рачунање времена (ДСТ)
У неким земљама, љетно рачунање времена се врши прослеђивањем сатова за сат времена љети како би се искористила додатна расположива сунчева свјетлост. Будите свјесни ДСТ-а да бисте били у току с локалним временима у својим услугама.
Но Тво-Дигит Иеар
Приликом прилагођавања датума и времена за локализацију не користите двоместни формат за годину у било ком тренутку. Ми смо већ у 21. веку. Користећи године 64
, 99
итд. ће бити проблематично у будућности. Ако већ имате двогодишњи систем година, размислите о промени.
Леап Иеар анд Отхер Цалендарс
Дозволите да завршимо овај пост са разним стварима које треба запамтити док се бавимо датумима. Ако не користите било коју библиотеку или АПИ за датуме и волите да се бавите њима сами (то јест не препоручено свеједно), не заборавите да прикажете 29. фебруар на улазу за преступне године.
Такође, вреди напоменути да је Грегоријански календар није једини облик календара који је доступан и коришћен по целом свету. Постоји неколико регионалних календара које локално становништво прати, посебно када су у питању свечаности.
Референце
- Међународна телекомуникациона унија: Студија о координираном универзалном времену (УТЦ) у ИТУ-Р
- ИСО: ИСО 8601 - Формат датума и времена
- Википедиа: Координирано универзално вријеме
- Википедиа: Даилигхт Савинг Тиме
- Википедиа: Греенвицх Меан Тиме
- В3Ц Напомена: Формати датума и времена
- В3Ц Типс: Користите међународни формат датума (ИСО)