ISO 8601 - ISO 8601

Текущая дата и время в соответствии с ISO 8601 [ обновить ]
Дата 2021-10-18
Дата и время в формате UTC 2021-10-18T09: 41: 33 + 00: 00
2021-10-18T09: 41: 33Z
20211018T094133Z
Неделя 2021-Н42
Неделя с днем ​​недели 2021-W42-1
Дата без года --10-18
Порядковая дата 2021–291

ISO 8601 - это международный стандарт, охватывающий всемирный обмен и передачу данных, связанных с датой и временем . Он поддерживается Международной организацией по стандартизации (ISO), базирующейся в Женеве, и впервые был опубликован в 1988 году с обновлениями в 1991, 2000, 2004 и 2019 годах. Стандарт призван обеспечить четко определенный, однозначный метод представления календарных дат. и время в глобальных коммуникациях, особенно во избежание неправильной интерпретации числовых дат и времени, когда такие данные передаются между странами с различными соглашениями о записи числовых дат и времени.

В общем, ISO 8601 применяется к этим представлениям и форматам: даты в григорианском календаре (включая пролептический григорианский календарь); время, основанное на 24-часовой системе хронометража , с дополнительным смещением по всемирному координированному времени ; временные интервалы ; и их комбинации. Стандарт не придает особого значения какому-либо элементу представленных дат / времени: значение любого элемента зависит от контекста его использования. В представленных датах и ​​времени нельзя использовать слова, которые не имеют определенного числового значения в рамках стандарта (таким образом, исключая названия лет в китайском календаре ) или которые не используют компьютерные символы (за исключением изображений или звуков).

В представлениях, которые соответствуют стандарту обмена ISO 8601 , даты и время расположены так, что наибольший временной член (обычно год) помещается слева, а каждый последующий меньший срок помещается справа от предыдущего члена. Обозначения должны быть написаны комбинацией арабских цифр и определенных компьютерных символов (таких как «-», «:», «T», «W», «Z»), которым в стандарте присвоены определенные значения; то есть такие банальные дескрипторы дат (или частей дат), как «январь», «четверг» или «новогодний день», не допускаются в обменных представлениях в рамках стандарта.

История

Первое издание стандарта ISO 8601 было опубликовано как ISO 8601: 1988 в 1988 году. Оно унифицировало и заменило ряд старых стандартов ISO по различным аспектам обозначения даты и времени: ISO 2014 , ISO 2015 , ISO 2711 , ISO 3307 и ISO 4031 . Он был заменен вторым изданием ISO 8601: 2000 в 2000 г., третьим изданием ISO 8601: 2004, опубликованным 1 декабря 2004 г., отозван и пересмотрен в соответствии с ISO 8601-1: 2019 и ISO 8601-2: 2019 25 февраля. 2019. Стандарт ISO 8601 был подготовлен Техническим комитетом TC 154 и находится в его непосредственном ведении .

ISO 2014, хотя и заменен, является стандартом , который первоначально ввел все числовые обозначения даты в большинстве к наименее значимым порядка [YYYY] - [ММ] - [ДД] . Система нумерации недель ISO была введена в ISO 2015, а идентификация дней по порядковым датам была первоначально определена в ISO 2711.

Четвертая редакция стандарта ISO 8601-1: 2019, выпущенная в феврале 2019 года, представляет собой слегка обновленное содержание предыдущего стандарта ISO 8601: 2004, тогда как новый ISO 8601-2: 2019 определяет различные расширения, такие как неопределенности или части # Расширенный формат даты / времени (EDTF).

История опубликованных изданий
Имя Описание
ISO 8601: 1988 Элементы данных и форматы обмена - Обмен информацией - Представление даты и времени
ISO 8601: 1988 / COR 1: 1991 Элементы данных и форматы обмена - Обмен информацией - Представление даты и времени - Техническое исправление 1
ISO 8601: 2000 Элементы данных и форматы обмена - Обмен информацией - Представление даты и времени
ISO 8601: 2004 Элементы данных и форматы обмена - Обмен информацией - Представление даты и времени
ISO 8601-1: 2019 Дата и время - Представления для обмена информацией - Часть 1: Основные правила
ISO 8601-2: 2019 Дата и время - Представления для обмена информацией - Часть 2: Расширения

Общие принципы

  • Значения даты и времени упорядочены от наибольшей к наименьшей единице времени: год, месяц (или неделя), день, час, минута, секунда и доля секунды. Таким образом, лексикографический порядок представления соответствует хронологическому порядку, за исключением представлений даты, включающих отрицательные годы или временной сдвиг. Это позволяет естественным образом сортировать даты , например, по файловым системам.
  • Каждое значение даты и времени имеет фиксированное количество цифр, которые должны быть дополнены ведущими нулями .
  • Представления могут быть выполнены в одном из двух форматов - базовом формате с минимальным количеством разделителей или расширенном формате с разделителями, добавленными для повышения удобства чтения человеком. В стандарте отмечается, что «следует избегать использования основного формата в виде простого текста ». Разделитель, используемый между значениями даты (год, месяц, неделя и день), представляет собой дефис , а двоеточие используется как разделитель между значениями времени (часы, минуты и секунды). Например, 6-й день 1-го месяца 2009 года можно без двусмысленности записать как «2009-01-06» в расширенном формате или просто как «20090106» в основном формате.
  • Для снижения точности любое количество значений может быть удалено из любого представления даты и времени, но в порядке от наименьшего к наиболее значимому. Например, «2004-05» является действительной датой ISO 8601, которая указывает на май (пятый месяц) 2004 года. Этот формат никогда не будет представлять 5-й день неуказанного месяца в 2004 году, а также не будет представлять временной интервал от 2004 г. в 2005 г.
  • Если необходимо для конкретного приложения, стандарт поддерживает добавление десятичной дроби к наименьшему значению времени в представлении.

Даты

Октябрь 2021 г.
Неделя Пн Вт Мы б Чт Пт Суббота солнце
W39 27 28 год 29 30 01 02 03
W40 04 05 06 07 08 09 10
W41 11 12 13 14 15 16 17
W42 18 19 20 21 год 22 23 24
W43 25 26 27 28 год 29 30 31 год

Стандарт использует григорианский календарь , который «служит международным стандартом для гражданского использования».

ISO 8601: 2004 фиксирует контрольную календарную дату по григорианскому календарю 20 мая 1875 года как дату подписания Mètre ( Meter Convention ) в Париже (явная контрольная дата была удалена в ISO 8601-1: 2019). Однако календарные даты ISO до конвенции по-прежнему совместимы с григорианским календарем вплоть до официального введения григорианского календаря 15 октября 1582 года.

Более ранние даты в пролептическом григорианском календаре могут использоваться по взаимному согласию партнеров, обменивающихся информацией. Стандарт гласит, что каждая дата должна быть последовательной, поэтому использование юлианского календаря будет противоречить стандарту (потому что в дату переключения даты не будут последовательными).

Годы

ГГГГ
± Г ГГГГ

ISO 8601 предписывает, как минимум, четырехзначный год [ГГГГ], чтобы избежать проблемы 2000 года . Следовательно, он представляет годы от 0000 до 9999, год 0000 равен 1 году до нашей эры, а все остальные годы нашей эры . Однако годы до 1583 года автоматически не допускаются стандартом. Вместо этого «значения в диапазоне от [0000] до [1582] должны использоваться только по взаимному соглашению партнеров по обмену информацией».

Для представления лет до 0000 или после 9999 стандарт также допускает расширение представления года, но только по предварительному соглашению между отправителем и получателем. Расширенное представление года [± Y YYYY] должно иметь согласованное количество дополнительных цифр года сверх четырехзначного минимума, и оно должно иметь префикс + или - вместо более распространенного AD / BC (или CE / BCE ) обозначение; по соглашению 1 BC обозначается как +0000 , 2 BC обозначается как −0001, и так далее.

Календарные даты

ГГГГ-ММ-ДД или ГГГГММДД
ГГГГ-ММ ( но не ГГГГММ)
Разрешено только в замененной версии с 2000 года:
--ММ-ДД или - ММДД

Представления календарной даты представлены в форме, показанной в соседнем поле. [ГГГГ] указывает год из четырех цифр, от 0000 до 9999. [MM] указывает месяц года, состоящий из двух цифр, с 01 по 12. [ДД] указывает день этого месяца с двумя цифрами, с 01 по 31. Например, , «5 апреля 1981 года» может быть представлено либо как «1981-04-05» в расширенном формате, либо как «19810405» в основном формате .

Стандарт также позволяет записывать календарные даты с пониженной точностью. Например, можно написать «1981-04», чтобы обозначить «апрель 1981 года». Версия 2000 года позволяла писать «-04-05» для обозначения «5 апреля», но версия 2004 года не допускала опускания года при наличии месяца. Можно просто написать «1981» для обозначения этого года, «198» для обозначения десятилетия с 1980 по 1989 г. включительно или «19» для обозначения века с 1900 по 1999 г. включительно. Хотя стандарт допускает форматы «ГГГГ-ММ-ДД» и ГГГГММДД для полного представления календарной даты, если день [ДД] опущен, то разрешен только формат ГГГГ-ММ . Запрещая даты в форме YYYYMM, стандарт избегает путаницы с усеченным представлением YYMMDD (все еще часто используемым).

Даты недели

ГГГГ-www или ГГГГWww
ГГГГ-www-D или ГГГГWwwD

Представления даты недели имеют форматы, показанные в соседнем поле. [ГГГГ] указывает год нумерации недель ISO, который немного отличается от года по традиционному григорианскому календарю (см. Ниже). [Www] - номер недели с префиксом W , от W01 до W53. [D] - номер дня недели от 1 до 7, начиная с понедельника и заканчивая воскресеньем.

Есть несколько взаимно эквивалентных и совместимых описаний недели 01:

  • неделя с первым четвергом начала года в ней (формальное определение ISO),
  • неделя с 4 января в ней,
  • первая неделя с большинством (четырьмя или более) дней в начальном году, и
  • неделя, начинающаяся с понедельника в период с 29 декабря по 4 января.

Как следствие, если 1 января приходится на понедельник, вторник, среду или четверг, это происходит на неделе 01. Если 1 января приходится на пятницу, субботу или воскресенье, это происходит на 52 или 53 неделе предыдущего года (есть нет недели 00). 28 декабря всегда последняя неделя в году.

Номер недели можно описать, посчитав четверг: на 12-й неделе приходится 12-й четверг года.

ISO недели нумерации год начинается в первый день (понедельник) недель 01 и заканчиваются в воскресенье перед началом нового года ISO (следовательно , без перекрытия или зазора). Он состоит из 52 или 53 полных недель. Первая неделя года по стандарту ISO может иметь до трех дней, которые фактически относятся к завершающемуся году по григорианскому календарю; если три, то это понедельник, вторник и среда. Точно так же последняя неделя года по стандарту ISO может иметь до трех дней, которые фактически находятся в григорианском календарном году, который начинается; если три, то это пятница, суббота и воскресенье. Четверг каждой недели ISO всегда соответствует году григорианского календаря, который обозначается годом нумерации недель ISO.

Примеры:

  • Понедельник, 29 декабря 2008 г. написано «2009-W01-1».
  • Воскресенье, 3 января 2010 г. написано «2009-W53-7».

Порядковые даты

ГГГГ-ДДД или ГГГГДДД

Порядковая дата простой форма для случаев , когда произвольный характер недели и месяца определения больше препятствия , чем помощь, например, при сравнении дат разных календарей. Как показано выше, [ГГГГ] обозначает год. [DDD] - день этого года, с 001 по 365 (366 в високосных годах ). Например, «1981-04-05» - это также «1981-095» .

Этот формат используется с простыми аппаратными системами, которым нужна система дат, но где включение полного календарного программного обеспечения для расчета может быть значительной неприятностью. Эту систему иногда называют «юлианской датой», но это может вызвать путаницу с астрономическим юлианским днем , последовательным подсчетом количества дней, прошедших с дня 0, начиная с 1 января 4713 г. до н.э. Полдень по Гринвичу, пролептический календарь по юлианскому календарю (или полдень по ISO дата -4713-11-24, в которой используется григорианский пролептический календарь с 0000 годом).

Раз

чч: мм: сс.ссс или Thhmmss.sss
чч: мм: сс или Тхммсс
чч: мм или Тхммм
Thh

ISO 8601 использует 24-часовую систему часов . Согласно ISO 8601-1: 2019 основным форматом является T [чч] [мм] [сс], а расширенным форматом является Т [чч]: [мм]: [сс]. В более ранних версиях буква T (обозначающая время) отсутствовала в обоих форматах.

  • [hh] относится к часу с нулями между 00 и 23.
  • [мм] относится к дополненной нулями минуты между 00 и 59.
  • [ss] относится к секунде, дополненной нулями, между 00 и 60 (где 60 используется только для обозначения дополнительной дополнительной секунды ).

Таким образом, время может отображаться либо как «T134730» в базовом формате, либо как «T13: 47: 30» в расширенном формате . ISO 8601-1: 2019 позволяет опускать T в расширенном формате, как в «13:47:30», но позволяет опускать T только в базовом формате, когда нет риска двусмысленности с выражениями даты.

Либо секунды, либо минуты и секунды могут быть опущены в базовом или расширенном формате времени для большей краткости, но меньшей точности; результирующие форматы времени с уменьшенной точностью:

  • T [чч] [мм] в базовом формате или [чч]: [мм] в расширенном формате , если секунды не указаны.
  • T [чч], когда опущены и секунды, и минуты.

Согласно ISO 8601-1: 2019 полночь может обозначаться только как «00:00», что соответствует началу календарного дня. Более ранние версии стандарта допускали «24:00», соответствующие концу дня, но это явно запрещено редакцией 2019 года.

Десятичная дробь может быть добавлена ​​к присутствующему элементу времени самого низкого порядка в любом из этих представлений. Десятичный знак , либо запятая или точка ( в соответствии с ISO 80000-1 в соответствии с ISO 8601: 1-2019, который не предусматривает предпочтение за исключением того, в рамках международных стандартов, но с предпочтением запятой в соответствии со стандартом ISO 8601: 2004) используется как разделитель между элементом времени и его дробью. Для обозначения «14 часов 30 с половиной минут» не включайте цифру в секундах. Представьте его как «14: 30,5», «T1430,5», «14: 30,5» или «T1430,5». Нет ограничений на количество десятичных знаков для десятичной дроби. Однако количество десятичных знаков должно быть согласовано между сторонами. Например, в Microsoft SQL Server точность десятичной дроби для DATETIME равна 3, т. Е. «Гггг-мм-ддТчч: мм: сс [.ммм]».

Обозначения часовых поясов

<время> Z
<время> ± чч: мм
<время> ± ччмм
<время> ± чч

Часовые пояса в ISO 8601 представлены как местное время (без указания местоположения), как UTC или как смещение от UTC.

Местное время (без уточнения)

Если информация о соотношении UTC не указана с представлением времени, предполагается, что время находится в местном времени. Хотя может быть безопасно использовать местное время при общении в одном часовом поясе, это неоднозначно при использовании связи в разных часовых поясах. Даже в пределах одного географического часового пояса некоторые местные времена будут неоднозначными, если в регионе будет соблюдаться летнее время . Обычно предпочтительнее указывать часовой пояс (обозначение зоны), используя стандартную нотацию.

Всемирное координированное время (UTC)

Если время указано в формате UTC , добавьте Z сразу после времени без пробела. Z - обозначение зоны для нулевого смещения UTC. «09:30 UTC» поэтому представляется как «09: 30Z» или «T0930Z». «14:45:15 UTC» будет «14: 45: 15Z» или «T144515Z».

Z суффикс в временном представлении ISO 8601 иногда называют как «зулусское время» , так как та же буква используются для обозначения часового пояса зулусского . Однако стандарт ACP 121, который определяет список военных часовых поясов, не упоминает UTC и выводит «зулусское время» из среднего времени по Гринвичу, которое ранее использовалось в качестве международного стандарта гражданского времени. GMT более точно не определяется научным сообществом и может относиться к UTC или UT1 в зависимости от контекста.

Смещение времени от UTC

UTC смещение добавляется к тому времени , таким же образом , что 'Z' была выше, в виде ± [HH]: [мм], ± [HH] [мм], или ± [чч].

Отрицательные смещения UTC описывают часовой пояс к западу от UTC ± 00: 00 , где гражданское время отстает (или раньше), чем UTC, поэтому обозначение зоны будет иметь вид «-03: 00», «-0300» или «-03». ".

Положительные смещения UTC описывают часовой пояс в или к востоку от UTC ± 00: 00 , где гражданское время совпадает с UTC или опережает его (или позже), поэтому обозначение зоны будет иметь вид «+02: 00», «+ 0200». "или" +02 ".

Примеры

  • «−05: 00» для Нью-Йорка по стандартному времени ( UTC-05: 00 )
  • «−04: 00» для Нью-Йорка на летнее время ( UTC-04: 00 )
  • «+00: 00» (но не «-00: 00») для Лондона по стандартному времени ( UTC ± 00: 00 )
  • «+02: 00» для Каира ( UTC + 02: 00 )
  • «+05: 30» для Мумбаи ( UTC + 05: 30 )
  • «+14: 00» для Кирибати ( UTC + 14: 00 )

См. Список смещений времени UTC для других смещений времени UTC .

Чтобы представить отрицательное смещение, ISO 8601 определяет использование знака минус . Если набор символов обмена ограничен и не имеет знака минус, следует использовать дефис-минус . ASCII не имеет знака минус, поэтому будет использоваться его дефис-минус (код 45 десятичный или двумерный шестнадцатеричный). Если в наборе символов есть знак минус, то следует использовать этот символ. Юникод имеет знак минус, а его символьный код - U + 2212 (2212 шестнадцатеричный); HTML характер объект вызова является &minus;.

Следующие моменты времени относятся к одному и тому же моменту: «18: 30Z», «22: 30 + 04», «11:30–0700» и «15: 00–03: 30». Буквы морских часовых поясов не используются, за исключением Z. Для расчета времени UTC необходимо вычесть смещение из местного времени, например, для «15: 00−03: 30» до 15:00 - (−03: 30) чтобы получить 18:30 UTC.

Смещение нуля, помимо специального представления «Z», также может быть указано численно как «+00: 00», «+0000» или «+00». Однако не разрешается указывать его численно с отрицательным знаком, например, «-00: 00», «-0000» или «-00». В разделе, определяющем использование знака, указано, что знак плюс должен использоваться для положительного или нулевого значения, а знак минус - для отрицательного значения. В отличие от этого правила, RFC 3339, который в остальном является профилем ISO 8601, разрешает использование «-00» с тем же обозначением, что и «+00», но с другим значением.

Комбинированные представления даты и времени

<дата> T <время>

Отдельный момент времени может быть представлен путем конкатенации полного выражения даты, буквы «T» в качестве разделителя и допустимого выражения времени. Например, «2007-04-05T14: 30» . В ISO 8601: 2004 было разрешено опускать символ «T» по взаимному согласию, как в «200704051430» , но это положение было удалено в ISO 8601-1: 2019. Разделение частей даты и времени другими символами, такими как пробел, не допускается в ISO 8601, но разрешено в его профиле RFC 3339.

Если требуется указатель часового пояса, он следует за комбинированной датой и временем. Например, «2007-04-05T14: 30Z» или «2007-04-05T12: 30−02: 00» .

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

Продолжительность

PnYnMnDTnHnMnS
PnW
P <дата> T <время>

Длительности определяют количество промежуточного времени во временном интервале и представлены в формате P [n] Y [n] M [n] DT [n] H [n] M [n] S или P [n] W, как показано ». в стороне. В этих представлениях [n] заменяется значением для каждого из элементов даты и времени, следующих за [n]. Начальные нули не требуются, но максимальное количество цифр для каждого элемента должно быть согласовано сторонами связи. Заглавные буквы P , Y , M , W , D , T , H , M и S являются обозначениями для каждого элемента даты и времени и не заменяются.

  • P - обозначение длительности (для периода ), помещенное в начале представления длительности.
    • Y - обозначение года, которое следует за значением количества лет.
    • M - это обозначение месяца, которое следует за значением количества месяцев.
    • W - это обозначение недели, которое следует за значением количества недель.
    • D - это обозначение дня, которое следует за значением количества дней.
  • T - временное обозначение, которое предшествует временным компонентам представления.
    • H - обозначение часа, которое следует за значением количества часов.
    • M - обозначение минут, которое следует за значением количества минут.
    • S - это второе обозначение, которое следует за значением количества секунд.

Например, «P3Y6M4DT12H30M5S» представляет продолжительность «три года, шесть месяцев, четыре дня, двенадцать часов, тридцать минут и пять секунд».

Элементы даты и времени, включая их указатель, могут быть опущены, если их значение равно нулю, а элементы более низкого порядка также могут быть опущены для снижения точности. Например, «P23DT23H» и «P4Y» являются приемлемыми представлениями продолжительности. Однако должен присутствовать хотя бы один элемент, поэтому «P» не является допустимым представлением в течение 0 секунд. «PT0S» или «P0D», однако, действительны и представляют одинаковую продолжительность.

Чтобы устранить двусмысленность, «P1M» - это продолжительность в один месяц, а «PT1M» - это одна минута (обратите внимание на указатель времени T, который стоит перед значением времени). Наименьшее используемое значение может также иметь десятичную дробь, как в «P0.5Y» для обозначения полугодия. Эта десятичная дробь может быть указана либо через запятую, либо через точку , как в «P0,5Y» или «P0,5Y». Стандарт не запрещает, чтобы значения даты и времени в представлении продолжительности превышали их «точки переноса», за исключением случаев, указанных ниже. Таким образом, «PT36H» может использоваться так же, как «P1DT12H» для представления той же продолжительности. Но имейте в виду, что «PT36H» - это не то же самое, что «P1DT12H» при переключении с или на летнее время .

В качестве альтернативы, формат для продолжительности, основанный на комбинированном представлении даты и времени, может использоваться по соглашению между взаимодействующими сторонами либо в базовом формате PYYYYMMDDThhmmss, либо в расширенном формате P [ГГГГ] - [MM] - [DD] T [hh]: [мм]: [сс] . Например, первая показанная выше продолжительность будет «P0003-06-04T12: 30: 05» . Однако отдельные значения даты и времени не могут превышать их модули (например, значение 13 для месяца или 25 для часа недопустимо).

Хотя стандарт описывает продолжительность как часть временных интервалов, которые обсуждаются в следующем разделе, формат продолжительности (или его подмножество) широко используется независимо от временных интервалов, как в случае с классом длительности Java 8.

Временные интервалы

<начало> / <конец>
<начало> / <продолжительность>
<продолжительность> / <конец>
<длительность>

Временной интервал - это промежуток времени между двумя временными точками. Количество промежуточного времени выражается продолжительностью (как описано в предыдущем разделе). Две точки времени (начало и конец) выражаются либо комбинированным представлением даты и времени, либо просто представлением даты.

Есть четыре способа выразить временной интервал:

  1. Начало и конец, например «2007-03-01T13: 00: 00Z / 2008-05-11T15: 30: 00Z».
  2. Начало и продолжительность, например "2007-03-01T13: 00: 00Z / P1Y2M10DT2H30M".
  3. Продолжительность и конец, например "P1Y2M10DT2H30M / 2008-05-11T15: 30: 00Z"
  4. Только продолжительность, например "P1Y2M10DT2H30M", с дополнительной контекстной информацией.

Из них первые три требуют двух значений, разделенных указателем интервала, который обычно представляет собой знак солидуса (чаще называемый косой чертой "/"). В разделе 3.2.6 ISO 8601-1: 2019 отмечается, что «Знак« солидус »может быть заменен двойным дефисом [« - »] по взаимному согласию партнеров по обмену информацией». и в предыдущих версиях использовались обозначения типа «2000–2002». Использование двойного дефиса вместо солидуса позволяет включать в имена файлов компьютеров ; в обычных операционных системах солидус является зарезервированным символом и не допускается в имени файла.

Для выражений <start> / <end>, если в конечном значении отсутствуют какие-либо элементы, предполагается, что они совпадают с начальным значением, включая часовой пояс. Эта особенность стандарта позволяет кратко представлять временные интервалы. Например, дату двухчасовой встречи, включая время начала и окончания, можно просто отобразить как «2007-12-14T13: 30/15: 30», где «/ 15: 30» подразумевает »/ 2007-12- 14T15: 30 "(та же дата, что и начало), или даты начала и окончания ежемесячного расчетного периода как" 2008-02-15 / 03-14 ", где" / 03-14 "подразумевает" / 2008-03 -14 "(год старта).

Если для представления временного интервала желательна более высокая точность, тогда к представлению можно добавить больше элементов времени. Интервал обозначается «2007-11-13 / 15» может начаться в любое время на 2007-11-13 и в конце в любое время на 2007-11-15 , тогда как «2007-11-13T09: 00 / 15T17: 00» включает в себя время начала и окончания. Чтобы явно включить все даты начала и окончания, интервал будет представлен как «2007-11-13T00: 00 / 16T00: 00» .

Повторяющиеся интервалы

Rn / <интервал>
R / <интервал>

Интервалы повторения указаны в п. «4.5 Периодичность повторения». Они формируются путем добавления «R [n] /» в начало выражения интервала, где R используется как сама буква, а [n] заменяется числом повторений. Отсутствие значения для [n] или указание значения -1 означает неограниченное количество повторений. Значение 0 для [n] означает, что интервал не повторяется.

Если интервал указывает начало (формы 1 и 2 выше), то это начало повторяющегося интервала. Если интервал указывает конец, но не начало (форма 3 выше), то это конец повторяющегося интервала. Например, чтобы повторить интервал «P1Y2M10DT2H30M» пять раз, начиная с «2008-03-01T13: 00: 00Z» , используйте «R5 / 2008-03-01T13: 00: 00Z / P1Y2M10DT2H30M» .

Усеченные представления

ISO 8601: 2000 разрешает усечение (по согласованию), когда ведущие компоненты даты или времени опускаются. Примечательно, что это позволило использовать двузначные годы и неоднозначные форматы ГГ-ММ-ДД и ГГММДД. Это положение было удалено в ISO 8601: 2004.

Усеченные представления
Тип Базовый формат Базовый пример Расширенный формат Расширенный пример
Конкретная дата в подразумеваемом веке ГГММДД 851026 ГГ-ММ-ДД 85-10-26
Определенный год и месяц в подразумеваемом столетии. -ГГММ -8510 -ГГ-ММ -85-10
Конкретный год в подразумеваемом столетии -ГГ -85 N / A
Конкретный день месяца в предполагаемом году - ММДД --1026 --ММ-ДД --10-26
Конкретный месяц в предполагаемом году --ММ --10 N / A
Конкретный день в подразумеваемом месяце --- DD --- 26

Только в первом типе (конкретная дата в подразумеваемом столетии) ведущее значение -столетия опускается . Все остальные форматы имеют одно начало -на каждый пропущенный век, год и месяц.

Стандартизированные расширения

ISO 8601-2: 2019 определяет набор стандартизованных расширений форматов даты и времени ISO 8601.

Расширенный формат даты / времени (EDTF)
EDTF приведен в качестве примера профиля ISO 8601. Некоторые из его функций:
  • Неопределенные и приблизительные уточнения, '?' и '~', а также их комбинированное употребление, '%'; они могут применяться ко всей дате или к отдельным компонентам.
  • Временные интервалы с открытым (неограниченным) концом или неизвестным концом.
  • Обозначение экспоненциальных и значащих цифр в годах.
  • Специальные значения «месяца», указывающие на подгодовые группы, такие как сезоны и кварталы.
  • Синтаксис для сериализации списка дат.
Функции EDTF описаны в разделе «Расширения даты и времени» стандарта ISO 8601-2: 2019.
Правила повторения для повторяющихся временных интервалов
ISO 8601-2: 2019 также определяет формат для ограничения повторяющихся интервалов на основе синтаксиса iCalendar .

использование

В Интернете , то World Wide Web Consortium (W3C) использует IETF стандарт , основанный на ISO 8601 в определении профиля стандарта, ограничивающего поддерживаемые форматы даты и времени , чтобы уменьшить вероятность ошибок и сложность программного обеспечения. Очень простая спецификация основана на проекте RFC 3339, упомянутом ниже.

ISO 8601 упоминается в нескольких спецификациях, но не всегда используется полный набор опций ISO 8601. Например, различные стандарты электронных программ для телевидения, цифрового радио и т. Д. Используют несколько форм для описания моментов времени и продолжительности. Спецификация метаданных аудио ID3 также использует подмножество ISO 8601. Стандарт кодирования X.690 GeneralizedTime использует другое подмножество ISO 8601.

Коммерция

ISO 8601 Даты недели , по состоянию на 2006 г. появились в своей основной форме на основной бренд коммерческой упаковки в Соединенных Штатах. Его внешний вид зависел от конкретной упаковки, консервного завода или завода по розливу в бутылки больше, чем от какой-либо конкретной марки. Формат особенно полезен для обеспечения качества, так что производственные ошибки можно легко отследить до рабочих недель, а продукты можно правильно выбрать для отзыва.

RFC

IETF RFC 3339 определяет профиль ISO 8601 для использования в интернет-протоколах и стандартах . Он явно исключает продолжительность и даты до нашей эры . Более сложные форматы, такие как номера недель и порядковые дни, не допускаются.

RFC 3339 отклоняется от ISO 8601, позволяя указывать смещение нулевого часового пояса как «-00: 00», что запрещает ISO 8601. RFC 3339 намеревается, что «-00: 00» несут коннотацию, что он не указывает предпочтительный часовой пояс, тогда как соответствующий «+00: 00» или любое ненулевое смещение означает, что используемое смещение является предпочтительным. Это соглашение относительно «-00: 00» получено из более ранних RFC, таких как RFC 2822, который использует его для отметок времени в заголовках электронной почты . RFC 2822 не утверждал, что какая-либо часть его формата временной метки соответствует ISO 8601, и поэтому он мог свободно использовать это соглашение без конфликтов.

Принятие в качестве национальных стандартов

Австралия В соответствии с ISO 8601-2007
Австрия ÖNORM ISO 8601 (заменен ÖNORM EN 28601)
Бельгия NBN EN 28601 (1993)
Бразилия NBR 5892: 2019
Канада CAN / CSA-Z234.4-89 (R2007)
Колумбия NTC 1034: 2014 Источник ICONTEC (этот стандарт идентичен ISO 8601: 2004)
Китай ГБ / т 7408-2005
Чехия ČSN ISO 8601 (заменен ČSN EN 28601)
Дания DS / ISO 8601: 2005 (заменен DS / EN 28601)
Эстония EVS 8: 2008; EVS-ISO 8601: 2011
Европейская норма EN ISO 8601, EN 28601: 1992 (отменено 7 октября 2011 г.)
Финляндия SFS-EN 28601
Франция NF Z69-200; NF EN 28601: 1993-06-01 (отменено)
Германия DIN ISO 8601: 2006-09 (заменен DIN EN 28601: 1993-02); связанные: DIN 5008: 2011-04 (заменен DIN 5008: 2005-05, DIN 5008: 2001-11, DIN 5008: 1996-05)
Греция ELOT EN 28601
Венгрия MSZ ISO 8601: 2003
Исландия IST EN 28601: 1992 (устарело)
Индия IS 7900: 2001
Ирландия IS / EN 28601: 1993
Италия UNI EN 28601 (1993)
Япония JIS X 0301: 2002
Корея, Республика KS X ISO 8601
Литва LST ISO 8601: 2006 (заменен LST ISO 8601: 1997)
Люксембург ITM-EN 28601
Нидерланды NEN ISO 8601, NEN EN 28601 (1994), NEN 2772
Норвегия NS-ISO 8601
Польша PN-EN 28601: 2002 (Устаревший с 2008 года. Взамен не было предоставлено ни одного стандарта).
Португалия NP EN 28601
Россия ГОСТ ИСО 8601-2001 (текущий), ГОСТ 7.64-90 (устаревший)
Южная Африка SANS 8601: 2009
Испания UNE EN 28601: 1995
Швеция SS-ISO 8601: 2011 (утвержден 01.11.2011, заменяет SS-ISO 8601)
Швейцария SN ISO 8601: 2005-08 (заменен SN-EN 28601: 1994)
Тайвань 7648 CNS
Таиланд ТИС 1111: 2535 (1992)
Турция TS ISO 8601
Украина ДСТУ ISO 8601: 2010
Объединенное Королевство BS ISO 8601: 2004, BS EN 28601 (1989-06-30)
Соединенные Штаты ANSI INCITS 30-1997 (R2008) и NIST FIPS PUB 4-2
Вьетнам TCVN 6398-1: 1998

Смотрите также

Примечания и ссылки

внешние ссылки

Обзор реализации