Порядковая дата — это календарная дата , обычно состоящая из года и порядкового номера в диапазоне от 1 до 366 (начиная с 1 января), представляющего собой кратное дню число , называемое днем года или порядковым номером дня (также известным как порядковый номер дня ). день или номер дня ). Две части даты могут быть отформатированы как «ГГГГ-ДДД» в соответствии с порядковым форматом даты ISO 8601 . Иногда год может быть опущен, если это подразумевается контекстом; день можно обобщить из целых чисел, включив в него десятичную часть , представляющую долю дня.
Порядковая дата — это предпочтительное название для того, что раньше называлось «юлианской датой» или JD или JDATE , которое все еще встречается в старых языках программирования и программах для работы с электронными таблицами. Старые названия устарели, поскольку их легко спутать с более ранней системой датирования, называемой « числом юлианского дня » или JDN , которая использовалась ранее и остается повсеместной в астрономических и некоторых исторических расчетах.
Вычисление порядкового дня в течение года является частью расчета порядкового дня на протяжении многих лет от исходной даты , такой как юлианская дата. Это также часть расчета дня недели , хотя для этой цели можно сделать упрощения по модулю 7.
В следующем тексте представлено несколько алгоритмов расчета порядкового дня O. В качестве входных данных используются целые числа y , m и d для года, месяца и дня даты по григорианскому или юлианскому календарю.
Самый тривиальный метод расчета порядкового дня включает подсчет всех прошедших дней согласно определению:
Столь же тривиальным является использование справочной таблицы, такой как упомянутая. [1]
Таблицу длин месяцев можно заменить, следуя методу кодирования вариации длин месяцев в сравнении Целлера . Как и в Целлере, m меняется на m + 12, если m ≤ 2 . Можно показать (см. ниже), что для месяца с номером m общее количество дней предыдущих месяцев равно ⌊(153 * ( m − 3) + 2)/5⌋ . В результате порядковый номер дня от 1 марта равен O Mar = ⌊(153 × ( m − 3) + 2) / 5⌋ + d .
Формула отражает тот факт, что любые пять последовательных месяцев в диапазоне с марта по январь имеют общую продолжительность 153 дня из-за фиксированного шаблона 31–30–31–30–31, повторяющегося дважды. Это похоже на кодирование смещения месяца (которое будет той же последовательностью по модулю 7) в сравнении Целлера. Как153/5равно 30,6, последовательность колеблется по желаемому шаблону с желаемым периодом 5.
Чтобы перейти от порядкового дня с 1 марта к порядковому дню с 1 января:
Свойства « Судного дня »:
С и дает
давая последовательные различия 63 (9 недель) для n = 2, 3, 4, 5 и 6, т. е. между 4/4, 6/6, 8/8, 10/10 и 12/12.
и дает
и с м и д поменялись местами
что дает разницу 119 (17 недель) для n = 2 (разница между 5/9 и 9/5), а также для n = 3 (разница между 7/11 и 11/7).
For example, the ordinal date of April 15 is 90 + 15 = 105 in a common year, and 91 + 15 = 106 in a leap year.
The number of the month and date is given by
the term can also be replaced by with the ordinal date.