Сегодняшняя дата (UTC ), выраженная в соответствии с ISO 8601 Дата | 2020 -10-24 |
---|
Порядковая дата | 2020-298 |
---|
Порядковая дата - это календарная дата, обычно состоящая из года и дня в году в диапазоне от 1 и 366 (начиная с 1 января), хотя год иногда может быть опущен. Два числа могут быть отформатированы как ГГГГ-ДДД, чтобы соответствовать формату ISO 8601 порядковой даты.
Содержание
- 1 Расчет
- 2 Таблица
- 3 Месяц – день
- 4 См. Также
- 5 Внешние ссылки
Расчет
Расчет порядковой даты в течение года является частью вычисления порядковой даты в течение многих лет от контрольной даты, например юлианской даты. Это также часть вычисления дня недели, хотя для этой цели могут быть сделаны упрощения по модулю 7.
Для этих целей удобно считать январь и февраль как 13 и 14 месяц предыдущего года по двум причинам: краткость февраля и его непостоянная продолжительность. В этом случае дата, отсчитываемая от 1 марта, будет иметь вид
, что также можно записать
или
, где m - номер месяца, а d - дата. - это функция пола.
Формула отражает тот факт, что любые пять последовательных месяцев в диапазоне от марта до Январь имеет общую продолжительность 153 дня из-за фиксированного шаблона 31–30–31–30–31, повторяющегося дважды.
"Судный день "свойства:
для и получаем
, что дает последовательные разницы в 63 (9 недель) для n = 2, 3, 4, 5 и 6, т.е. между 4/4, 6/6, 8/8, 10/10 и 12/12.
Для и получаем
и с заменой m и d
дает разницу в 119 (17 недель) для n = 2 (разница между 5/9 и 9/5), а также для n = 3 (разница между 7 / 11 и 11/7).
Порядковая дата с 1 января:
- для января: d
- для февраля: d + 31
- для другого месяцев: порядковая дата от 1 марта плюс 59, или 60 в високосном году r
или, что эквивалентно, порядковая дата с 1 марта предыдущего года (для которого может использоваться формула выше) минус 306.
Modulo 7
Снова считая январь и февраль как 13 и 14 месяц предыдущего года, дата отсчитывается от 1 марта по модулю 7, равному
, где m - номер месяца, а d - число.
Вычисление может быть выполнено с 1 января математически без операторов if, если мы воспользуемся преимуществами алгебраической логики min и max. MAX равно . MIN равно .. при условии, что месяц (m), день (d) и год (y). // если январь - полный месяц. // если Feb равно полный месяц. // если март полный месяц. // если апр - полный месяц. // если май полный месяц. // если июнь полный месяц. // если июль - полный месяц. // если август - полный месяц. // если сентябрь полный месяц. // если Oct - полное месяц. // если ноя - полный месяц. // дни текущего месяца. // прыжок логика года. // считать високосный год, только если дата>= 3-й месяц // логика високосного года
пример 24 августа 2016 г. равно
Таблица
До дня | 13. января | 14. февраля | 3. марта | 4. апреля | 5. мая | 6. июня | 7. июля | 8. Авг | 9. Сен | 10. Окт | 11. Ноябрь | 12. Дек | i |
---|
Добавить | 0 | 31 | 59 | 90 | 120 | 151 | 181 | 212 | 243 | 273 | 304 | 334 | 3 |
---|
Високосные годы | 0 | 31 | 60 | 91 | 121 | 152 | 182 | 213 | 244 | 274 | 305 | 335 | 2 |
---|
Алгоритм | |
---|
Например, порядковая дата 15 апреля - 90 + 15 = 105 в обычный год и 91 + 15 = 106 в год високосный год.
Месяц – день
Число месяца и числа определяется как
- .
термин также можно заменить на с порядковой датой.
- 10 апреля.
- 19 июля.
- 300-й день високосного года:
- ноябрь -5 = 26 октября (31-5).
См. Также
Внешние ссылки