stringtranslate.com

Дата недели ISO

Система дат недели ISO по сути представляет собой систему календаря високосной недели , которая является частью стандарта даты и времени ISO 8601 , выпущенного Международной организацией по стандартизации (ISO) с 1988 года (последняя редакция в 2019 году), а до этого она была определена в ISO(R) 2015 с 1971 года. Используется (в основном) в правительстве и бизнесе для финансовых лет , а также при хронометраже. Ранее это было известно как «Промышленное кодирование даты». Система определяет недельный год в григорианском календаре , определяя обозначения для порядковых недель года.

Григорианский високосный цикл , имеющий 97 високосных дней, разбросанных по 400 годам, содержит целое число недель (20 871 ). В каждом цикле 71 год с дополнительной 53-й неделей (что соответствует григорианским годам, содержащим 53 четверга). Средняя продолжительность года составляет ровно 52,1775 недель; месяцев ( 1года ) в среднем составляет ровно 4,348125 недель в месяц.

Год с нумерацией недель по ISO (также неофициально называемый годом ISO ) состоит из 52 или 53 полных недель. Это 364 или 371 день вместо обычных 365 или 366 дней. Эти 53-недельные годы происходят во все годы, в которых четверг приходится на 1 января, и в високосные годы, начинающиеся в среду, 1 января. Дополнительную неделю иногда называют високосной , хотя в ISO 8601 этот термин не используется.

Недели начинаются с понедельника и заканчиваются в воскресенье. Каждая неделя года соответствует григорианскому календарю, на который выпадает четверг. Таким образом, первая неделя года всегда содержит 4 января. Поэтому нумерация недель и лет ISO обычно отклоняется на 1 от григорианского в течение некоторых дней, близких к 1 января.

Точная дата определяется годом с нумерацией недели по ISO в формате ГГГГ , номером недели в формате ww с префиксом буквы «W» и номером дня недели — цифрой d от 1 до 7, начиная с понедельника и заканчивая с воскресеньем. Например, дата по григорианскому календарю, среда, 7 февраля 2024 г., соответствует дню номер 3 недели номер 06 2024 г. и записывается как 2024-W06-3 (в расширенной форме) или 2024W063 (в компактной форме). Год ISO немного смещен по сравнению с годом по григорианскому календарю; например, понедельник, 30 декабря 2019 года по григорианскому календарю, является первым днем ​​недели 1 2020 года в календаре ISO и записывается как 2020-W01-1 или 2020W011.

Связь с григорианским календарем

Номер недели года по стандарту ISO отличается от номера года по григорианскому календарю одним из трех способов. Различаются дни с пятницы по воскресенье, или суббота и воскресенье, или просто воскресенье в начале григорианского года (которое приходится на конец предыдущего года ISO) и с понедельника по среду, или понедельник и вторник. или просто понедельник в конце григорианского года (это 01-я неделя следующего года по ISO). В период с 4 января по 28 декабря номер недели года по ISO всегда равен номеру года по григорианскому календарю. То же самое касается каждого четверга.

Первая неделя

Согласно определению ISO 8601 , неделя 01 — это неделя с первым четвергом григорианского года (т. е. января). Следующие определения, основанные на свойствах этой недели, являются эквивалентными, поскольку неделя ISO начинается с понедельника:

Если 1 января приходится на понедельник, вторник, среду или четверг, оно находится в W01. Если это пятница, это часть W53 предыдущего года. Если это суббота, это часть последней недели предыдущего года, которая имеет номер W52 в невисокосный год и W53 в високосный год. Если это воскресенье, это часть W52 предыдущего года.

Примечания

  1. ^ abc Частичные даты в скобках ( ) относятся к високосным годам.
  2. ^ Первое число первой недели года.
  3. ^ Первое число последней недели года.
  4. ^ W53 для недели с 1 января в невисокосные годы, начинающиеся в субботу (B), применяется только в том случае, если предыдущий год был високосным, начинающимся в четверг (DC).

На прошлой неделе

Последняя неделя года нумерации недель по ISO, т. е. W52 или W53, является неделей перед W01 следующего года. Свойства этой недели:

Следовательно, самая ранняя возможная последняя неделя длится с понедельника, 22 декабря, по воскресенье, 28 декабря, а самая поздняя возможная последняя неделя — с понедельника, 28 декабря, до воскресенья, 3 января.

Если 31 декабря приходится на понедельник, вторник или среду, это соответствует W01 следующего года. Если это четверг, то это 53-я неделя года, который только что закончился. Если в пятницу, то это W52 года, заканчивающегося в невисокосные годы и W53 в високосные годы. Если в субботу или воскресенье, то это W52 года, который только что закончился.

Недель в году

Длинные годы с 53 неделями могут быть описаны любым из следующих эквивалентных определений:

Все остальные годы с нумерацией недель короткие и состоят из 52 недель.

Количество недель в данном году равно соответствующему номеру недели 28 декабря, поскольку это единственная дата, которая всегда приходится на последнюю неделю года, поскольку это неделя до 4 января, которое всегда приходится на первую неделю. следующего года.

Используя только порядковый номер года y , количество недель в этом году можно определить с помощью функции, которая возвращает день недели 31 декабря: [1]

В среднем год состоит из 53 недель каждые 40071 = 5,6338... лет; 43 раза эти длинные годы разделяются на 6 лет, 27 раз — на 5 лет и один раз — на 7 лет (между 296 и 303 годами). Григорианские годы, соответствующие этим 71 долгому году, можно разделить следующим образом:

Григорианские годы, соответствующие остальным 329 коротким годам (не начинающимся и не заканчивающимся четвергом), также можно разделить следующим образом:

Таким образом, в течение 400-летнего цикла:

Недель в месяц

Стандарт ISO не определяет никакой связи между неделями и месяцами. Дата выражается либо месяцем и днем ​​месяца, либо неделей и днем ​​недели, но не смесью.

Недели являются важной величиной в бухгалтерском учете, где годовая статистика выигрывает от регулярности на протяжении многих лет . Поэтому на практике обычно выбирают фиксированную продолжительность в 13 недель в квартал . Эти кварталы затем можно разделить на 5 + 4 + 4 недели , 4 + 5 + 4 недели или 4 + 4 + 5 недель . В последней четверти 14 недель, тогда как в году 53 недели.

Когда необходимо отнести неделю к одному месяцу, можно применить правило для первой недели года, хотя ISO 8601-1 не рассматривает этот случай явно. Полученный узор будет неправильным. В обычном 52-недельном году будет 4 месяца по 5 недель, или 5 таких месяцев в длинном 53-недельном году. Они соответствуют одному из следующих трех критериев:

Даты с фиксированным номером недели

Во все годы 8 дней имеют фиксированный номер недели по ISO (между W01 и W08) в январе и феврале. За исключением високосных годов, начинающихся в четверг, даты с фиксированными номерами недель встречаются во все месяцы года (1 день каждой недели ISO от W01 до W52).

В високосные годы, начинающиеся в четверг (т.е. 13 лет с номерами 004, 032, 060, 088, 128, 156, 184, 224, 252, 280, 320, 348, 376 в 400-летнем цикле), номера недель ISO равны увеличивается на 1 с марта до конца года. Последний раз это произошло в 1976 и 2004 годах, а следующее произойдет в 2032 году. Эти исключения происходят между годами, которые чаще всего находятся с интервалом 28 лет или 40 лет с интервалом в 3 пары последовательных лет: с 088 года по 128 год, с 184 года по 224, и с 280 по 320 год. У них никогда не будет разницы в 12 лет. Единственные високосные годы, которые могут наступать с интервалом в 12 лет, — это високосные годы, начинающиеся в воскресенье, вторник, среду и пятницу.

День недели для этих дней связан с алгоритмом «Судный день» , который вычисляет день недели, на который приходится последний день февраля. Все даты, перечисленные в таблице, приходятся на один день после Судного дня, за исключением того, что в январе и феврале високосных лет сами даты являются Судными днями. В високосные годы номер недели соответствует порядку Судного дня .

Равные недели

Некоторые пары и тройки недель ISO имеют одинаковые дни месяца:

Некоторые другие недели, например, с W09, с W19 по W26, с W31 и с W35, никогда не делят свои порядковые номера дней месяца с другими неделями того же года.

Преимущества

Отличия от других календарей

Солнечные астрономические явления, такие как равноденствия и солнцестояния , варьируются в григорианском календаре в диапазоне, охватывающем три дня, в течение каждого 400-летнего цикла, в то время как календарь недельных дат ISO имеет диапазон, охватывающий 9 дней. Например, мартовское равноденствие приходится на 1920-W12-6 и 2077-W11-5 по UT.

Номер года недели по ISO очень часто отличается от номера года по григорианскому календарю для дат, близких к 1 января. Например, 29 декабря 1986 года — это ISO 1987-W01-1, т. е. это 1987 год, а не 1986. Ошибка программирования, сбивающая с толку эти два года, вероятно, является причиной того, что некоторые пользователи Android в Твиттере не могут войти в систему около полуночи. от 29 декабря 2014 года по всемирному координированному времени . [2]

Недельный календарь ISO основан на григорианском календаре , который дополняется для определения дня нового года (понедельник недели 01). В результате дополнительные недели распределяются по 400-летнему циклу по сложной, казалось бы, случайной схеме. (Однако относительно простой алгоритм определения наличия в году 53 недель только по его порядковому номеру показан выше в разделе «Недели в году».) Большинство предложений по реформе календаря , использующих схемы високосных недель, стремятся упростить и гармонизировать эту модель, некоторые за счет выбора другой високосный цикл (например, 293 года).

Не во всех частях света неделя начинается с понедельника. Например, в некоторых мусульманских странах обычная рабочая неделя начинается в субботу, а в Израиле – в воскресенье. В большинстве стран Америки, хотя рабочая неделя обычно начинается в понедельник, календарная неделя часто считается началом в воскресенье.

Алгоритмы

Вычисление номера недели по порядковой дате

Номер недели (WW или woy для недели года ) любой даты можно вычислить, учитывая ее порядковый номер (т. е. день года, doy или DDD, 1–365 или 366) и день недели (D или dow) . , 1–7). При использовании серийных номеров для дат (например, в электронных таблицах) doy — это серийный номер даты минус серийный номер на 31 декабря предыдущего года или, альтернативно, минус серийный номер на 1 января того же года плюс один.

Алгоритм
  1. Вычтите номер дня недели из порядкового дня года.
  2. Добавьте 10.
  3. Разделите на 7, остаток отбросьте.
    • Если полученный таким образом номер недели равен 0, это означает, что данная дата принадлежит предыдущему (недельному) году.
    • Если получен номер недели 53, необходимо проверить, что дата на самом деле не относится к неделе 1 следующего года.
Формула

Вычисление номера недели по месяцу и дню месяца

Если порядковая дата неизвестна, ее можно вычислить на основе месяца (MM или moy ) и дня месяца (DD или dom ) любым из нескольких методов; например, используя следующую таблицу.

Пример
Найдите номер недели субботы, 5 ноября 2016 г. (високосный год):
  • Сначала найдите порядковый номер дня:
moy = 11 dom = 5 jump = 1 add = 305, из поиска по таблице doy = 305 + 5 = 310.
  • В качестве альтернативы вместо этого используйте порядковые номера дней в электронной таблице:
off = 42369, т.е. день 31 декабря 2015 года = 42679 doy = 42679 − 42369 = 310.
  • Наконец, найдите номер недели:
dow = 6, т.е. суббота woy = (10 + 310 − 6) div 7 woy = (320 − 6) div 7 woy = 314 div 7 = 44.

Вычисление порядковой даты или даты месяца из даты недели

Алгоритм
  1. Умножьте номер недели на 7.
  2. Затем добавьте номер дня недели.
  3. Из этой суммы вычитаем поправку за год:
    • Получите будний день 4 января.
    • Добавьте 3.
  4. Результатом является порядковая дата, которую можно преобразовать в календарную дату.
    • Если полученная таким образом порядковая дата равна нулю или отрицательна, то дата относится к предыдущему календарному году;
    • если оно больше количества дней в году, оно принадлежит следующему году.
Формула

Другие системы нумерации недель

В системе США есть недели с воскресенья по субботу и неполные недели в начале и конце года, т.е. 52 полных и 1 неполная неделя из 1 или 2 дней, если год начинается в воскресенье или заканчивается в субботу, 52 полных и 2 недели. однодневные недели, если високосный год начинается в субботу и заканчивается в воскресенье, в противном случае 51 полная и 2 неполные недели. Преимущество заключается в том, что не требуется отдельная нумерация лет, например, год ISO. Соответствие лексикографического и хронологического порядка сохраняется (как и в случае нумерации год-неделя-день недели ISO), но неполные недели делают некоторые вычисления еженедельной статистики или платежей неточными в конце декабря или начале января или в обоих случаях.

В календаре вещания США неделя, начинающаяся с 1 января (и начинающаяся с понедельника), считается первой в году, но в остальном работает как нумерация недель ISO без неполных недель. До шести дней предыдущего декабря могут входить в первую неделю года.

В бухгалтерском учете США используется сочетание тех, в которых недели начинаются с воскресенья и «содержащая 1 января» определяет первую неделю, в результате чего получается система, в которой годы также содержат 52 или 53 недели.

Рекомендации

  1. ^ Гент, Роберт Х. «Математика календаря ISO 8601». Архивировано из оригинала 24 декабря 2018 г. Проверено 17 августа 2011 г.
  2. ^ «Twitter выгоняет пользователей Android-приложений на пять часов из-за ошибки с датой 2015 года» . хранитель . 29 декабря 2014 г.

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