ISO 8601
Дата и время, представленные в ISO 8601[ | ]|
---|---|
Дата | 2024-10-02 |
Дата и время вUTC |
2024-10-02T14:17:09+00:00 2024-10-02T14:17:09Z 20241002T141709Z |
Неделя | 2024-W40 |
Неделя с днём недели | 2024-W40-3 |
Дата без года | --10-02[1] |
Порядковая дата | 2024-276 |
ISO 8601— международныйстандарт,выпущенный организациейISO(International Organization for Standardization), который описывает форматыдативремении даёт рекомендации для его использования в международном контексте. Название нормы —Data elements and interchange formats — Information interchange — Representation of dates and times.
История
[править|править код]Первая редакция стандарта ISO 8601 была опубликована в 1988 году и объединила и заменила собой целый ряд более старых стандартов ISO, касавшихся представления даты и времени: ISO 2014, 2015, 2711, 3307 и 4031. В 2000 году стандарт был заменён второй редакцией и, позднее, в 2004 году, — третьей редакциейISO 8601:2004(англ.),опубликованной3 декабря2004 года.В 2019 вышла новая редакция формата ISO 8601-1:2019 и ISO 8601-2:2019, заменившая ISO 8601:2004[2].
Основные принципы
[править|править код]Значения даты и времени расположены в порядке от более к менее значимому. Каждое число (год, месяц, день, время) записывается с фиксированным числом знаков и, при необходимости, должно быть дополнено до неговедущими нулями.Например, время «7:40» должно быть записано как «07:40». В результате для каждого из ряда форматов дат и временлексикографический порядоксоответствует хронологическому, с исключением для отрицательных лет.
Представление может быть в одном из двух форматов:простом форматес минимальным числом символов, илирасширенном форматес разделителями, добавляемыми для удобочитаемости. Стандарт разрешает использованиедефисамежду элементами даты идвоеточиямежду часами, минутами и секундами. Расширенные форматы, как правило, предпочтительнее простых из-за того, что некоторые простые форматы неоднозначны.
От даты и времени можно отбросить любое число полей, но менее значимые поля обязательно должны быть отброшены раньше более значимых. Например, «2004-05» это корректная дата, означающая май 2004. При этом, такое обозначение по стандарту не может трактоваться как 5-е число неизвестного месяца 2004 года.
Кроме того, стандарт поддерживает добавлениедесятичной точкик наименьшей единице времени, когда требуется большая точность. При этом допустимо представление с десятичной точкой в сокращённых форматах времени, то естьT13:23,5эквивалентноT13:23:30.Стандарт не позволяет использовать представление с десятичной точкой для дат.
Указания времени с часовым поясом, представляющие один и тот же момент времени: "18:30Z", "22:30+04", "1130−0700".
В роли разделителя целой и дробной части могут использоваться символы запятой «,» или точки «.» Из них запятая предпочтительнее.
Наиболее распространённые форматы
[править|править код]Формат | Пример | Описание | Примечание |
---|---|---|---|
YYYY-MM | 2005-08 | август 2005 года | |
YYYYMMDD | 20050809 | 9 августа 2005 года | |
YYYY-MM-DD | 2005-08-09 | 9 августа 2005 года | |
hhmm | 1831 | 18 часов 31 минута | Маска формата времени hhmm (4.2.2.3 p. a) совпадает с сокращенным представлением даты YYYY (4.1.2.3 p. b) —\d{4}.Для избежания путаницы стандартом предложены две стратегии:
* Обменивающиеся стороны должны согласовать дополнительное количество цифр в элементе времени «год». В примере выше согласовано добавление двух цифр. |
hh:mm | 18:31 | 18 часов 31 минута | |
hhmmss | 183142 | 18 часов 31 минута 42 секунды | |
hh:mm:ss | 18:31:42 | 18 часов 31 минута 42 секунды | |
±hh | +03 | UTC+03 часа | В редакции ISO 8601:2004 отмечено:
«Expressions of the difference between local time and UTC of day are a component in the representations defined in 4.2.5.2; they shall not be used as self-standing expressions» (перевод: «Разница между местным временем и UTC являются компонентом представления времени и не должна использоваться в качестве самостоятельного выражения»). Маске\+\d{4,}кроме +hhmm (4.2.5) соответствует формат даты +YYY (4.1.2.4 p. d). |
-03 | UTC-03 часа | ||
±hhmm | +0330 | UTC+03 часа 30 минут | |
-0330 | UTC-03 часа 30 минут | ||
±hh:mm | +03:30 | UTC+03 часа 30 минут | |
-03:30 | UTC-03 часа 30 минут | ||
hhmmss±hh | 183142+03 | 18 часов 31 минута 42 секундыUTC+03 часа | |
183142-03 | 18 часов 31 минута 42 секундыUTC-03 часа | ||
hh:mm:ss±hh | 18:31:42+03 | 18 часов 31 минута 42 секундыUTC+03 часа | |
18:31:42-03 | 18 часов 31 минута 42 секундыUTC-03 часа | ||
hhmmss±hhmm | 183142+0330 | 18 часов 31 минута 42 секундыUTC+03 часа 30 минут | |
183142-0330 | 18 часов 31 минута 42 секундыUTC-03 часа 30 минут | ||
hh:mm:ss±hh:mm | 18:31:42+03:30 | 18 часов 31 минута 42 секундыUTC+03 часа 30 минут | |
18:31:42-03:30 | 18 часов 31 минута 42 секундыUTC-03 часа 30 минут | ||
YYYYMMDDThhmmss | 20050809T183142 | 9 августа 2005 года 18 часов 31 минута 42 секунды | |
YYYY-MM-DDThh:mm:ss | 2005-08-09T18:31:42 | 9 августа 2005 года 18 часов 31 минута 42 секунды | |
YYYYMMDDThhmmss±hh | 20050809T183142+03 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа | |
20050809T183142-03 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа | ||
YYYY-MM-DDThh:mm:ss±hh | 2005-08-09T18:31:42+03 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа | |
2005-08-09T18:31:42-03 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа | ||
YYYYMMDDThhmmss±hhmm | 20050809T183142+0330 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа 30 минут | |
20050809T183142-0330 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа 30 минут | ||
YYYY-MM-DDThh:mm:ss±hh:mm | 2005-08-09T18:31:42+03:30 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа 30 минут | |
2005-08-09T18:31:42-03:30 | 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа 30 минут | ||
YYYY-MM-DDThh:mm:ss.sss | 2005-08-09T18:31:42 | 9 августа 2005 года 18 часов 31 минута 42 секунды | |
2005-08-09T18:31:42.201 | 9 августа 2005 года 18 часов 31 минута 42 секунды 201 миллисекунда |
Примеры
[править|править код]- 2005-08-09T18:31:42/P3Y6M4DT12H30M17S
- отрезок времени в 3 года 6 месяцев 4 суток 12 часов 30 минут и 17 секунд, начиная с 9 августа 2005 года 18 часов 31 минуты 42 секунд
- P1D
- продолжительность длиной 1 сутки (24 часа)
Примечания
[править|править код]- ↑последний раз была в ISO 8601:2000, использовалаRFC 6350 - vCard Format Specification .IETF(август 2011). — «Truncated representation, as specified in [ISO.8601.2000], Sections 5.2.1.3 d), e), and f), is permitted.» Дата обращения: 21 января 2021.Архивировано31 мая 2016 года.,хотя удалено в ISO 8601:2004
- ↑ISO 8601-1:2019(англ.).International Organization for Standardization. Дата обращения: 27 февраля 2019.Архивировано27 февраля 2019 года.
Ссылки
[править|править код]- ISO 8601:2004 — Data elements and interchange formats — Information interchange — Representation of dates and times(англ.)
- ISO 8601:2004(E)(англ.)
- A summary of the international standard date and time notation(англ.)
- Электронная документация по SQL Server 2005 (Ноябрь 2008 г.). Формат ISO 8601(рус.)
- ГОСТ ИСО 8601-2001Представление дат и времени. Общие требования
- ISO 8601-1:2019(англ.).Дата обращения: 23 октября 2020.
- ISO 8601-2:2019(англ.).Дата обращения: 23 октября 2020.