Календарная дата — это ссылка на конкретный день, представленный в календарной системе. Календарная дата позволяет идентифицировать конкретный день. Количество дней между двумя датами может быть рассчитано. Например, «25 ноября 2024 года» — это десять дней после «15 ноября 2024 года». Дата конкретного события зависит от наблюдаемого часового пояса . Например, воздушная атака на Перл-Харбор, которая началась в 7:48 утра по гавайскому времени 7 декабря 1941 года, произошла в 3:18 утра по японскому стандартному времени 8 декабря в Японии.
Конкретному дню может быть назначена другая номинальная дата в соответствии с используемым календарем, поэтому может потребоваться идентифицирующий суффикс, если может возникнуть двусмысленность. [a] Григорианский календарь является наиболее широко используемым гражданским календарем в мире , [1] и обозначается (на английском языке) как AD или CE . Многие культуры используют религиозные или царственные календари, такие как григорианский ( западный христианский мир , AD), еврейский календарь ( иудаизм , AM ), календари хиджры ( ислам , AH ), юлианский календарь ( восточный христианский мир , AD) или любой другой из множества календарей, используемых в мире . В большинстве календарных систем дата состоит из трех частей: (пронумерованный) день месяца , месяц и (пронумерованный) год . Также могут быть дополнительные части, такие как день недели . Годы обычно отсчитываются от определенной начальной точки, обычно называемой эпохой , при этом эра относится к промежутку времени с этой эпохи. [b]
Дату без года также можно назвать датой или календарной датой (например, «11 ноября», а не «11 ноября 2024 года»). Таким образом, это либо сокращение для текущего года, либо день ежегодного события, например, день рождения 31 мая, праздник 1 сентября или Рождество 25 декабря.
Многие компьютерные системы хранят внутренние точки времени в формате времени Unix или каком-либо другом системном формате времени. Команда date (Unix) — внутренне использующая функции даты и времени C — может использоваться для преобразования внутреннего представления точки времени в большинство представлений даты, показанных здесь.
Существует большое разнообразие форматов для используемых дат, которые различаются порядком компонентов даты. Эти вариации используют пример даты 31 мая 2006 года: (например, 31/05/2006, 05/31/2006, 2006/05/31), разделители компонентов (например, 31.05.2006, 31/05/2006, 31-05-2006), включены ли ведущие нули (например, 31/5/2006 против 31/05/2006), написаны ли все четыре цифры года (например, 31.05.2006 против 31.05.06) и представлен ли месяц арабскими или римскими цифрами или по названию (например, 31.05.2006, 31.V.2006 против 31 мая 2006).
Эта последовательность little-endian используется большинством стран мира и является предпочтительной формой для Организации Объединенных Наций при написании полного формата даты в официальных документах. Этот формат даты берет свое начало от обычая записывать дату как «N-й день [месяца] в году нашего Господа [год]» в западных религиозных и юридических документах. Формат со временем сократился, но порядок элементов остался неизменным. В следующих примерах используется дата 9 ноября 2006 года. (В отношении годов 2000–2009 необходимо следить за тем, чтобы двухзначные годы не подразумевали 1900–1909 или другие подобные годы .) Точки выполняют функцию порядковой точки .
В этом формате наиболее значимый элемент данных записывается перед менее значимыми элементами данных, то есть год перед месяцем перед днем. Это соответствует big -endianness индо -арабской системы счисления , которая прогрессирует от высшего к низшему порядку величины. То есть, при использовании этого формата текстовый порядок и хронологический порядок идентичны. Эта форма является стандартной в Восточной Азии, Иране, Литве, Венгрии и Швеции; и в некоторых других странах в ограниченной степени.
Примеры на 9 ноября 2003 года:
Он также расширен за счет универсального формата часов с обратным порядком байтов: 9 ноября 2003 г., 18 ч 14 м 12 с, или 2003/11/9/18:14:12 или (ISO 8601) 2003-11-09T18:14:12.
Эта последовательность используется в основном на Филиппинах и в Соединенных Штатах . Она также используется в разной степени в Канаде (хотя никогда в Квебеке ). [4] Этот формат даты широко использовался наряду с формой little-endian в Соединенном Королевстве до середины 20-го века и может быть найден как в несуществующих, так и в современных печатных СМИ, таких как London Gazette и The Times соответственно. Этот формат также широко использовался несколькими англоязычными печатными СМИ во многих бывших британских колониях, а также был одним из двух форматов, широко используемых в Индии в эпоху британского владычества до середины 20-го века. В Соединенных Штатах, например, говорится, что это воскресенье, 9 ноября, хотя использование «the» не является редкостью (например, воскресенье, 9 ноября и даже 9 ноября , воскресенье также возможны и легко понятны).
Современные руководства по стилю рекомендуют избегать использования порядковой формы чисел (например, 1-й, 2-й, 3-й, 4-й), когда день следует за месяцем (4 июля или 4 июля 2024 г.), [5] [6] и этот формат не включен в стандарты ISO . [7] Порядковая форма была распространена в прошлом и иногда используется до сих пор ([the] 4th [of] July или 4 июля ).
Этот формат даты используется в Казахстане , Латвии , Непале и Туркменистане . Согласно официальным правилам документирования дат государственными органами, [8] длинный формат даты на казахском языке записывается в порядке год–день–месяц, например, 2006 5 апреля ( казахский : 2006 жылғы 05 сәуір ).
Существует несколько стандартов, определяющих форматы дат:
Многие числовые формы могут создавать путаницу при использовании в международной переписке, особенно при сокращении года до последних двух цифр без контекста. Например, "07/08/06" может относиться как к 7 августа 2006 года, так и к 8 июля 2006 года (или 1906, или шестому году любого столетия), или к 6 августа 2007 года, и даже в некоторых крайне редких случаях [ сомнительно – обсудите ] это может означать 8 июня 2007 года.
Формат даты ГГГГ-ММ-ДД в ISO 8601, а также в других международных стандартах, был принят для многих приложений по ряду причин, в том числе для уменьшения транснациональной неоднозначности и упрощения машинной обработки. [12]
Ранний стандарт обработки федеральной информации США рекомендовал 2-значные годы. Сейчас это широко признано крайне проблематичным из-за проблемы 2000 года . Некоторые правительственные агентства США теперь используют ISO 8601 с 4-значными годами. [13] [ требуется лучший источник ]
При переходе от одного календаря или обозначения дат к другому может быть разработан формат, включающий оба стиля; например, даты старого и нового стиля при переходе от юлианского к григорианскому календарю. [14]
Одним из преимуществ использования формата даты ISO 8601 является то, что лексикографический порядок ( ASCIIbetical ) представлений эквивалентен хронологическому порядку дат, предполагая, что все даты находятся в одном часовом поясе. Таким образом, даты можно сортировать с помощью простых алгоритмов сравнения строк и, конечно, с помощью любого сопоставления слева направо . Например:
2003-02-28 (28 февраля 2003) сортирует до2006-03-01 (1 марта 2006 г.), который сортирует перед2015-01-30 (30 января 2015)
Макет YYYY-MM-DD является единственным распространенным форматом, который может это обеспечить. [15] Сортировка других представлений даты включает в себя некоторый разбор строк даты. Это также работает, когда время в 24-часовом формате включено после даты, при условии, что все время понимается как находящееся в одном часовом поясе.
ISO 8601 широко используется там, где требуются краткие, понятные человеку, но легко вычисляемые и однозначные даты, хотя многие приложения хранят даты внутри как время UNIX и преобразуют в ISO 8601 только для отображения. Все современные компьютерные операционные системы сохраняют информацию о дате файлов вне их названий, что позволяет пользователю выбирать предпочитаемый формат и сортировать их таким образом, независимо от имен файлов.
Американские военные иногда используют систему, которую они называют «Юлианский формат даты» [16] , которая указывает год и фактический день из 365 дней года (и, таким образом, обозначение месяца не понадобится). Например, «11 декабря 1999» может быть записано в некоторых контекстах как «1999345» или «99345», для 345-го дня 1999 года. [17] Эта система чаще всего используется в военной логистике США, поскольку она упрощает процесс расчета предполагаемых дат отправки и прибытия. Например: скажем, двигатель танка предположительно займет 35 дней, чтобы доставить его по морю из США в Южную Корею. Если двигатель отправлен 06104 (пятница, 14 апреля 2006 года), он должен прибыть 06139 (пятница, 19 мая). За пределами армии США и некоторых правительственных агентств США, включая Налоговую службу , этот формат обычно называют « порядковой датой », а не «юлианской датой». [18]
Такие порядковые форматы дат также используются многими компьютерными программами (особенно для мэйнфреймовых систем). Использование трехзначного юлианского номера дня экономит один байт памяти компьютера по сравнению с двузначным месяцем плюс двузначным днем, например, «17 января» — это 017 в юлианском формате против 0117 в формате месяц-день. OS/390 или его преемник z/OS отображают даты в формате гг.ддд для большинства операций.
Время UNIX хранит время в виде числа в секундах с начала эпохи UNIX (1970-01-01).
Другая «порядковая» система дат («порядковая» в смысле увеличения значения на единицу по мере увеличения даты на один день) широко используется в астрономических расчетах и ссылках и имеет то же название, что и эта «логистическая» система. Непрерывность представления периода независимо от рассматриваемого времени года весьма полезна для обеих групп специалистов. Астрономы описывают свою систему как также систему « юлианских дат ». [19]
Компании в Европе часто используют год, номер недели и день для целей планирования. Так, например, событие в проекте может произойти в w43
(неделя 43) или w43-1
(понедельник, неделя 43) или, если год необходимо указать, в w0643
(год 2006, неделя 43; т. е. понедельник 23 октября–воскресенье 29 октября 2006).
Год с недельной нумерацией ISO имеет 52 или 53 полных недели. Это 364 или 371 день вместо обычного григорианского года в 365 или 366 дней. Эти 53-недельные годы случаются во все годы, в которых четверг приходится на 1 января, и в високосные годы, которые начинаются в среду 1 января. Дополнительную неделю иногда называют « високосной неделей », хотя ISO 8601 не использует этот термин.
В английском языке за пределами Северной Америки (в основном в англоязычной Европе и некоторых странах Австралазии) полные даты пишутся как 7 декабря 1941 года (или 7th December 1941 ) и произносятся как «седьмое декабря, девятнадцать сорок первого» (чрезвычайно распространенное использование «the» и «of»), с редким использованием 7 декабря 1941 года («Декабрь седьмое, девятнадцать сорок первого»). Однако, как и в большинстве случаев в континентальной Европе, даты, состоящие только из цифр, всегда упорядочены в формате дд/мм/гггг.
В Канаде и Соединенных Штатах обычная письменная форма — December 7, 1941 , произносимая как «December seventh, nineteen forty-one» или в разговорной речи «December the seventh, nineteen forty-one». Однако порядковые числительные не всегда используются при написании и произношении дат, и «December seven, nineteen forty-one» также является принятым произношением даты, записанной December 7, 1941. Заметным исключением из этого правила является Четвертое июля ( День независимости США ).
Календарь, используемый сегодня в большинстве стран мира, — это григорианский или календарь нового стиля , разработанный комиссией, собранной папой Григорием XIII в шестнадцатом веке.
Принятие числового поля даты в одном из трех указанных форматов (ГГГГММДД, ММДДГГГ или ДДММГГГ. Важно, чтобы индикаторы полей были напечатаны под полем даты, чтобы указать, какой формат используется.