Дата недели ISO

редактировать
Календарная система високосной недели

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

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

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

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

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

октябрь 2020
неделя пнвтсредачтптсбСолнце
W4028293001020304
W4105060708091011
W4212131415161718
W4319202122232425
W4426272829303101
Содержание
  • 1 Связь с григорианским календарем
    • 1.1 Первая неделя
    • 1.2 Прошлая неделя
    • 1.3 Недели в год
    • 1,4 недели в месяц
    • 1,5 Даты с фиксированным номером недели
    • 1,6 Равные недели
  • 2 преимущества
  • 3 Отличия от других календарей
  • 4 алгоритмы
    • 4.1 Расчет номера недели от месяца и числа месяца или порядковой даты
    • 4.2 Расчет или конечная или месячная дата от даты недели
  • 5 Другие системы нумерации недель
  • 6 Примечания
  • 7 Ссылки
  • 8 Внешние ссылки
Связь с григорианским календарем
Примеры современных дат около Нового года День
Английский короткийISO
Сб, 1 января 2005 г.2005-01-012004-W53-6
Вс, 2 января 2005 г.2005-01-022004-W53-7
Сб, 31 декабря 2005 г.2005-12-312005-W52-6
Вс, 1 января 2006 г.2006-01-012005-W52-7
Пн, 2 января 2006 г.2006-01-022006-W01-1
Вс, 31 декабря 2006 г.2006-12-312006-W52-7
Пн, 1 января 2007 г.2007-01-012007-W01-1
Вс, 30 декабря 20072007-12-302007-W52-7
Пн, 31 Декабрь 20072007-12-312008-W01-1
Вт, 1 января 20082008-01-012008- W01-2
Вс, 28 декабря 2008 г.2008-12-282008-W52-7
Пн, 29 декабря 2008 г.2008-12-292009-W01-1
Вт 30 декабря 2008 г.2008-12-302009-W01-2
среда, 31 декабря 2008 г.2008-12-312009-W01-3
Чт 1 января 2009 г.2009-01-012009-W01-4
Чт 31 декабря 2009 г.31 декабря 2009 г.2009-W53-4
Пт 1 января 20102010-01-012009-W53-5
Сб 2 января 20102010-01-022009-W53-6
Вс, 3 января 2010 г.2010-01-032009-W53-7
Примечания:
  • Оба года 2007 начинаются с одного дня.
  • 2008 - високосный год. 2008W на 2 дня короче:
    • на 1 день больше в начале,
    • на 3 дня короче в конце.
  • 2009W начинается за три дня до конца 2008 года.
  • 2009W имеет 53 недели и заканчивается через три дня в 2010 году.

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

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

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

  • Это первая неделя, большая часть (4 или более) дней которой приходится на январь.
  • Его первый день - ближайший к 1 января понедельник.
  • В нем 4 января. Следовательно, самая ранняя возможная первая неделя длится с понедельника 29 декабря (предыдущий год по григорианскому календарю) до воскресенья 4 января, самая последняя возможная первая неделя длится с понедельника 4 января по воскресенье 10 января.
  • Первый рабочий день в году приходится на это, если суббота, воскресенье и 1 января не рабочие дни.

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

Доминическая буква (и) плюс дни недели, даты и номера недель в начале и конце года
Доминическая. буква (и)Дни в начале январяЭффектДни в конце декабря
1. Пн2. Вт3. Ср4. Чт5. Пт6. Сбbr>ВсW01-101 января неделя31 декабря неделя1. пн2. вт3. ср4. чт5. пт6. сб7. Вс
G (F)0102030405060701 янвW01W0131 (30)(31)
F (E)01020304050631 декW01W0130 (29)31 (30)(31)
E (D)010203040530 декW01W01 (W53)29 (28)30 (29)31 (30)(31)
D (C)0102030429 DecW01W5328 ( 27)29 (28)30 (29)31 (30)(31)
C (B)01020304 янвW53W5227 (26)28 (27)29 (28)30 (29)31 (30)(31)
B (A)010203 янвW52 (W53 )W5226 (25)27 (26)28 (27)29 (28)30 (29)31 (30)(31)
A (G)0102 январяW52W52 (W01 )25 (31)262728293031

Прошлая неделя

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

  • В нем последний четверг года.
  • Это последняя неделя с большинством (4 или более) дней в декабре.
  • Ее середина День, четверг, приходится на последний год.
  • Его последний день - ближайшее к 31 декабря воскресенье.
  • В нем 28 декабря.

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

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

Сводка за последние недели
01 январяW01-1Обычный год (365-1 или + 6)Високосный год (366-2 или + 5)
Пн01 янвG+0−1GF+0−2
Вт31 декF+1−2FE+1−3
ср30 декE+2−3ED+2+3
чт29 декD+3+3DC+3+2
пт04 янвC−3+2CB−3+1
сб03 янвB−2+1BA−2+0
вс02 январяA−1+0AG−1−1

недель в году

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

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

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

Используя только порядковый номер года y, можно определить количество недель в этом году:

p (y) = (y + ⌊ y 4 ⌋ - ⌊ y 100 ⌋ + ⌊ y 400 ⌋) mod 7 недель (y) = 52 + {1 (длинный), если p (y) = 4, или p (y - 1) = 3 0 (короткий), иначе {\ displaystyle {\ begin {align} p (y) = \ left (y + \ left \ lfloor {\ frac {y} {4}} \ right \ rfloor - \ left \ lfloor {\ frac {y} {100}} \ right \ rfloor + \ left \ lfloor {\ frac {y} {400}} \ right \ rfloor \ right) {\ bmod {7}} \\ {\ text {weeks}} (y) = 52 + {\ begin {cases} 1 {\ text {(long)}} {\ text {if}} p (y) = 4 \\ {\ text {или}} p (y-1) = 3 \\ 0 {\ text {(short)}} {\ text {иначе}} \ end {case}} \ end {align}}}{\ displaystyle {\ begin {align} p (y) = \ left (y + \ left \ lfloor {\ frac {y} {4}} \ right \ rfloor - \ left \ lfloor {\ frac {y} {100}} \ right \ rfloor + \ left \ lfloor {\ frac {y) } {400}} \ right \ rfloor \ right) {\ bmod {7}} \\ {\ text {weeks}} (y) = 52 + {\ begin {cases} 1 {\ text {(long)} } {\ text {if}} p (y) = 4 \\ {\ text {или}} p (y-1) = 3 \\ 0 {\ text {(short)}} {\ text { в противном случае}} \ end {case}} \ end {align}}}
Длинные годы в 400-летнем високосном цикле, выделенные также содержат 29 февраля; добавление 2000 дает номера текущего года
004009015020026
032037043048054
060065071076082
088093099
105111116122
128133139144150
156161167172178
184189195
201207212218
224229235240246
252257263268274
280285291296
303308314
320325331336342
348353359364370
376381387392398

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

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

  • 70 - это високосные годы по григорианскому календарю.
  • 259 - это обычные годы по григорианскому календарю.

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

  • 27 недельных лет на 5 дней больше, чем месячные годы (371 - 366).
  • 44 недельных года на 6 дней длиннее месячных лет (371 - 365).
  • 70 недельных лет на 2 дня короче месяца года (364 - 366).
  • 259 лет недели на 1 день короче месяца года (364 - 365).

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

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

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

Когда необходимо отнести неделю к одному месяцу, может применяться правило для первой недели года, хотя ISO 8601 не рассматривает этот случай явно. Полученный узор будет неправильным. Единственными 4 месяцами (или 5 в долгом году) из 5 недель будут те, у которых не менее 29 дней, начиная с четверга, у тех, у которых минимум 30 дней, начиная со среды, и у тех, у которых 31 день, начиная с вторника.

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

Обзор дат с фиксированным номером недели в любом году, кроме високосного года, начинающегося в четверг
МесяцДатыНомера недель
Январь04 11 18 25 Н01 - Н04
Февраль01 08 15 22 Н05 - Н08
Март01 08 15 22 29 Н09 - Н13
Апрель05 12 19 26 Н14 - Н17
Май03 10 17 24 31 Н18 - Н22
июнь07 14 21 28 Н23 - Н26
июль05 12 19 26 Н27 - Н30
август02 09 16 23 30 Н31 - Н35
сентябрь06 13 20 27 Н36 - Н39
октябрь04 11 18 25 W40 - W43
ноябрь01 08 15 22 29 W44 - W48
декабрь06 13 20 27 W49 - W52

Для всех лет 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 год.

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

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

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

  • W02 и W41 в общие годы
  • W03 с W42 в обычные годы и с W15 и W28 в високосные годы
  • W04 и W43 в общие годы и с W16 и W29 в високосные годы
  • W05 и W44 в обыкновенные годы
  • W06 с W10 и W45 в обычные годы и с W32 в високосные годы
  • W07 с W11 и W46 в общие годы и с W33 в високосные годы
  • W08 с W12 и W47 в общие годы и с W34 в високосные годы
  • W10 и W45
  • W11 и W46
  • W12 и W47
  • W15 и W28
  • Н16 и Н29
  • Н37 и Н50
  • Н38 и Н51

Некоторые другие недели, например, Н09, Н19– Н26, Н31 и Н35 никогда не разделяют свои дни порядковые номера месяца с любой другой неделей того же года.

Преимущества
  • У всех недель ровно 7 дней, то есть нет дробных недель.
  • Каждая неделя принадлежит одному году, то есть нет неоднозначных или дважды назначенных недель.
  • Дата напрямую указывает день недели.
  • Все годы с нумерацией недель начинаются с понедельника и заканчиваются воскресеньем.
  • При использовании отдельно без использования понятия месяца, все годы с нумерацией недель одинаковы, за исключением того, что в некоторых годах в конце стоит неделя 53.
  • Недели такие же, как и в григорианском календаре.
Отличия от других календарей

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

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

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

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

Алгоритмы

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

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

Смещение дня месяца для получения порядкового номера года
МесяцЯнвФевМартАпрмайиюниюлавгсеноктябрьноядекабрь
Общий год000031059090120151181212243273304334
Високосный год000031060091121152182213244274305335

Алгоритм:

  1. Вычтите dow дня недели из порядковой даты doy.
  2. Затем прибавьте 10.
  3. Разделите результат на 7.
  4. Игнорируйте остаток.
  5. Частное равно предварительному номеру недели.
    • Если полученный таким образом номер недели равен 0, это означает, что данная дата принадлежит предыдущему (недельному) году.
    • Если получен номер недели 53, необходимо проверить что дата на самом деле не находится на неделе 1 следующего года.
y = год (дата) w = ⌊ doy (дата) - dow (дата) + 10 7 ⌋ woy = {недель (y - 1), если w < 1 1, if w>недель (y) w, иначе {\ displaystyle {\ begin {align} y = {\ text {year}} \, ({\ text {date}}) \\ w = \ left \ lfloor {\ frac {{\ text {doy}} \, ({\ text {date}}) - {\ text {dow}} \, ({\ text {date}}) + 10} {7}} \ right \ rfloor \\ {\ text {woy}} = {\ begin {cases} {\ text {weeks}} \, (y-1), {\ text {if}} w <1\\1,{\text{if }}w>{\ text {weeks} } \, (y) \\ w, {\ text {else}} \ end {case}} \ end {align}}}{\displaystyle {\begin{aligned}y={\text{year}}\,({\text{date}})\\w=\left\lfloor {\frac {{\text{doy}}\,({\text{date}})-{\text{dow}}\,({\text{date}})+10}{7}}\right\rfloor \\{\text{woy}}={\begin{cases}{\text{weeks}}\,(y-1),{\text{if }}w<1\\1,{\text{if }}w>{\ text {weeks}} \, (y) \\ w, {\ text {иначе}} \ end {ases}} \ end {align}}}

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

Алгоритм:

  1. Умножение t номер недели равен 7.
  2. Затем добавьте номер дня недели вниз.
  3. Из этой суммы вычтите поправку за год:
    • Получите день недели 4 января.
    • Добавить 3.
  4. Результат - порядковая дата, которая может быть преобразована в календарную дату.
    • Если полученная таким образом порядковая дата равна нулю или отрицательна, дата принадлежит предыдущему календарному году;
    • если она больше, чем количество дней в году, она принадлежит следующему год.
y = год (дата) d = woy (дата) × 7 + dow (дата) - (dow (y, 1, 4) + 3) doy = {d + дни (y - 1), если d < 1 d − days ( y), if d>дней (y) d, иначе {\ displaystyle {\ begin {align} y = {\ text {year}} \, ({\ text {date}}) \\ d = {\ text {woy} } \, ({\ text {date}}) \ times 7 + {\ text {dow}} \, ({\ text {date}}) - ({\ text {dow}} \, (y, 1, 4) +3) \\ {\ text {doy}} = {\ begin {cases} d + {\ text {days}} \, (y-1), {\ text {if}} d <1\\d-{\text{days}}\,(y),{\text{if }}d>{\ text {days}} \, (y) \\ d, {\ text {else}} \ end {cases}} \ end {align}}}{\displaystyle {\begin{aligned}y={\text{year}}\,({\text{date}})\\d={\text{woy}}\,({\text{date}})\times 7+{\text{dow}}\,({\text{date}})-({\text{dow}}\,(y,1,4)+3)\\{\text{doy}}={\begin{cases}d+{\text{days}}\,(y-1),{\text{if }}d<1\\d-{\text{days}}\,(y),{\text{if }}d>{\ text {days}} \, ( y) \\ d, {\ text {иначе}} \ end {cases}} \ end {выравниваются}}}
Другие системы нумерации недель

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

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

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

Примечания
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-23 08:37:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте