Статья
Нумерация недель по ISO простыми словами
В большей части Европы встречу можно назначить на «неделю 27» без единой конкретной даты. Спросите у электронной таблицы, американского календарного приложения и немецкого бумажного ежедневника, какая это неделя, и ответы разойдутся на одну, а иногда и на две недели. Нумерация недель не сводится к одному соглашению, их существует сразу несколько, и ISO 8601 задаёт то из них, где нет двусмысленности: неделя начинается в понедельник, неделя 1 привязана к первому четвергу января, а платой за эту точность становится то, что неделя 1 может начаться в декабре, а некоторые годы насчитывают 53 недели.
Два правила, которые определяют неделю ISO
Неделя по ISO 8601 начинается с понедельника, а дни в ней пронумерованы от 1 (понедельник) до 7 (воскресенье). Неделей 1 года считается неделя, содержащая первый четверг января, или, что то же самое, неделя, содержащая 4 января. Стоит помнить одно следствие: по меньшей мере четыре из семи дней недели 1 принадлежат новому году, поэтому большинство дней недели и определяют, к какому году она относится. В развёрнутом виде дата по ISO-неделе выглядит как 2026-W27-5: год 2026, неделя 27, день 5, то есть пятница. Есть и компактная форма без дефисов (2026W275), но в расписаниях и проектных планах почти всегда используют вариант с дефисами.
Год недели не совпадает с календарным годом
Поскольку неделя 1 привязана к первому четвергу, до трёх последних дней декабря уже могут принадлежать неделе 1 следующего года, а до трёх первых дней января ещё могут относиться к последней неделе предыдущего. Нынешняя граница служит живым примером: понедельник 29 декабря 2025 года по воскресенье 4 января 2026 года образуют одну неделю, 2026-W01, поэтому 29, 30 и 31 декабря 2025 года несут номер года по неделям 2026. Это расхождение стало источником классической программной ошибки. Форматтеры дат различают календарный год (yyyy в шаблонах в стиле Java) и год по неделям (YYYY), и код, ошибочно выводящий YYYY, показывает неверный год в течение нескольких дней вокруг Нового года. Ошибка именно этого семейства коснулась отображения дат в Twitter в конце 2014 года, и она всплывает где-нибудь каждый декабрь.

В некоторых годах 53 недели
365 дней делятся на 52 недели плюс один день, поэтому число недель не может укладываться в постоянный ритм. По правилам ISO год получает 53 недели, если начинается в четверг, а также если это високосный год, начинающийся в среду. Такое случается 71 раз за каждые 400 лет, примерно раз в шесть лет. 2026 год относится к их числу: он начался в четверг, поэтому идёт от 2026-W01 до 2026-W53, а его последняя неделя растягивается с понедельника 28 декабря 2026 года по воскресенье 3 января 2027 года. Предыдущим 53-недельным годом был 2020-й; следующие такие годы наступят в 2032 и 2037. Специалисты по расчёту зарплат и планированию в рознице хорошо знают такие годы, потому что лишняя пронумерованная неделя может означать лишний период выплат или отчётности в бюджете, рассчитанном на 52 недели.

Другие системы считают иначе
ISO 8601 не единственное используемое соглашение. Североамериканские календари обычно начинают неделю с воскресенья и называют неделей 1 ту, что содержит 1 января, независимо от того, на какой день недели оно приходится; эта первая неделя может длиться всего один день. Электронные таблицы показывают оба подхода сразу: функция WEEKNUM в Excel по умолчанию использует счёт с воскресенья, а ISOWEEKNUM реализует правило ISO, и для многих дат они расходятся. Языки программирования несут ту же ловушку внутри одной функции: только strftime предлагает %U (с воскресенья), %W (с понедельника) и %V (по ISO). Так что «неделя 27» не значит ничего точного, пока не известно, по какой схеме она получена. Всякий раз, когда номер недели пересекает границу страны, компании или кодовой базы, явно указывайте, что это ISO, или прилагайте диапазон дат.
Как узнать номер недели без настенного календаря
Для важной даты вычисление надёжнее, чем подсчёт клеток на календаре. Наш инструмент для номера недели возвращает ISO-неделю для любой даты вместе с диапазоном от понедельника до воскресенья, который она охватывает; инструмент для дня недели показывает, на какой из семи дней ISO приходится любая дата, в прошлом или в будущем. Оба работают полностью в вашем браузере: введённые вами даты обрабатываются на вашем устройстве и никуда не отправляются. А если нужна опорная точка для памяти, хватит двух: 4 января всегда попадает в неделю 1, а 28 декабря всегда попадает в последнюю неделю своего года.
Инструменты из этой статьи
Частые вопросы
Почему Excel и моё календарное приложение показывают разные номера недель?
Почти наверняка они используют разные соглашения. Функция WEEKNUM в Excel по умолчанию использует счёт с воскресенья, при котором неделя, содержащая 1 января, считается неделей 1; ISOWEEKNUM, большинство европейских бумажных ежедневников и календарные приложения, настроенные на ISO, используют правило с понедельника, привязанное к первому четвергу. Результаты могут расходиться на одну неделю в течение всего года, а вокруг Нового года одна и та же дата может быть неделей 52 или 53 в одной системе и неделей 1 в другой. Проверьте настройку нумерации недель в каждом приложении и предпочитайте вариант ISO, когда другим людям нужно воспроизвести ваши цифры.
В каких странах на самом деле пользуются номерами недель?
В большей части Европы номера недель входят в повседневный деловой язык. Германия и Австрия планируют по Kalenderwoche (KW), а страны Северной Европы, Нидерланды и Чехия регулярно назначают встречи, производственные циклы и поставки по номеру недели; печатные ежедневники там несут номера по ISO. В Северной Америке и большей части Азии номера недель редко встречаются за пределами логистики и производства, а когда встречаются, чаще следуют счёту с воскресенья. Поэтому фраза «поставка на неделе 34» безопаснее всего с явно указанным диапазоном дат.
Может ли существовать неделя 54?
В ISO 8601 такого не бывает: год по ISO содержит ровно 52 или 53 недели, и это всегда полные отрезки с понедельника по воскресенье. Системы, которые режут недели на границе года, могут дойти и выше. В счёте с воскресенья, где неделей 1 считается неделя, содержащая 1 января, високосный год, начинающийся в субботу, растягивает свои 366 дней на 54 неполные недели: годом 2000 был как раз такой случай, функция WEEKNUM в Excel возвращает 54 для 31 декабря 2000 года, а следующим таким годом станет 2028-й. Если программа когда-нибудь покажет вам неделю 54, вы видите именно это соглашение, а не ISO.