Отображение даты и времени: как сделать это правильно

Мы встречаем их даты и время … ну, каждый день. Когда дело доходит до Интернета, вы можете обнаружить их в своих мобильных приложениях, в электронных письмах, в ваших приложениях обмена сообщениями и во многих других местах. Тем не менее, несмотря на то, что мы видим дату и время каждый день и везде, нам еще предстоит принять универсальный формат для этого.

Например, если я напишу 10/05/2015, вы никогда не сможете быть уверены, что это «10» – это месяц или дата, если я не скажу вам, откуда я. Иногда формат меняется, иногда язык.

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Допустим, мы не хотим конвертировать и показывать разные форматы даты и времени для разных зрителей по всему миру, что мы можем сделать? Мы выбираем один глобальный формат и придерживаемся его. Вот где некоторые стандарты вступают в игру. Прежде чем мы перейдем к этому, я должен сообщить, что W3C рекомендует использовать формат даты ISO 8601 с часовым поясом UTC.
ISO 8601
ISO 8601 описывает международный принятый способ представления даты и времени с помощью чисел.

И формат для полной даты есть; ГГГГ-ММ-ДД, например: 2015-07-28

ГГГГ = четырехзначный годММ = двухзначный месяц (01 = январь и т. Д.) ДД = двузначный день (от 01 до 31)

Для полной даты и времени: ГГГГ-ММ-ДД Чт: мм: ссс, например: 2015-07-28T21: 15: 18.45

T = для разделения даты и времени в соответствии с ISO 8601 мм = 2 цифры минуты (от 00 до 59) ss = 2 цифры секунды (от 00 до 59) s = десятичная дробь секунды, 1 или более цифр

Обратите внимание, что, поскольку в приведенном выше примере часовой пояс не указан, предполагается, что время соответствует местному часовому поясу. Если вы решили использовать часовой пояс UTC, просто добавьте Z к значению, чтобы обозначить UTC

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

Но если вы хотите отобразить местное время, вы можете добавить смещение часового пояса для 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, а не по Гринвичу.
Используйте название месяцев
Стандарт ISO использовал только числа в представлении даты, чтобы избежать любых языковых конфликтов. Но если содержимое вашего веб-приложения будет на английском языке, вам следует рассмотреть возможность записи месяцев на английском языке, а не цифрами.

Вместо 2015-07-28, 28 июля 2015 года это легче понять многим и менее запутанно.

локализация

Временами мы хотим быть очень конкретными с нашими услугами и хотели бы представлять дату и время в местных часовых поясах и на разных языках. Веб-разработчикам доступно множество библиотек и API для использования и отображения даты и времени в зависимости от региона доступа.

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

Если у вас есть локаль, вы можете отформатировать дату и время в соответствии с ней, например, используя Интернационализацию API, вы можете отформатировать дату, используя toLocaleDateString в JavaScript, например, myDate.toLocaleDateString (‘ko-KR’) вернет отформатированную дату в формате, используемом в Корее корейскоязычными аборигенами.
Летнее время (DST)
В некоторых странах переход на летнее время осуществляется путем перевода часов на час летом, чтобы использовать дополнительный доступный солнечный свет. Помните о DST, чтобы не отставать от местного времени в ваших службах.

Нет двухзначного года
При настройке даты и времени для локализации ни в коем случае не используйте двузначный формат года. Мы уже в 21 веке. Использование таких лет, как 64, 99 и т. Д. Будет проблематичным в будущем. Если у вас уже есть годовая система из двух цифр, рассмотрите возможность ее изменения.
Високосный год и другие календари
Давайте закончим этот пост несколькими разными вещами, которые нужно помнить при работе с датами. Если вы не используете какую-либо библиотеку или API для дат и хотели бы иметь с ними дело самостоятельно (что, тем не менее, не рекомендуется), не забудьте указать 29 февраля во входных данных для високосных лет.

Кроме того, стоит отметить, что григорианский календарь – не единственная форма календаря, доступная и используемая во всем мире. Есть несколько региональных календарей, которым следуют местные жители, особенно когда дело доходит до торжеств.

Ссылки

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *