Почему неделя 1 не всегда начинается 1 января
Большинство людей думают, что неделя 1 года — это первая полная неделя января. Но в стандарте ISO 8601, который используется в большинстве деловых, логистических и программных систем, правило другое. И это приводит к результатам, которые выглядят странно, пока вы не поймёте логику за ними.
1 января не всегда приходится на неделю 1. Иногда он падает на неделю 52 или 53 предыдущего года. А 31 декабря может быть в неделе 1 следующего года.
Узнайте номер текущей недели с помощью инструмента Текущий номер недели — он показывает ISO номер недели, ISO год недели и диапазон с понедельника по воскресенье для текущей недели.
Правило ISO недели 1
По стандарту ISO 8601 неделя 1 любого года определяется как неделя, содержащая первый четверг года.
Вот и всё правило. Всё остальное вытекает из него.
Поскольку ISO недели идут с понедельника по воскресенье, «неделя, содержащая первый четверг» всегда будет иметь:
- Минимум четыре дня в январе (четверг плюс до трёх дней до него)
- Понедельник на 4 января или раньше
- Воскресенье на 4 января или позже
Это означает, что неделя 1 — это всегда первая неделя, большинство дней которой приходится на новый год. Неделя, которая в основном в декабре, — это последняя неделя старого года, даже если в ней есть день или два в январе.
Когда 1 января приходится на неделю предыдущего года
Если 1 января — пятница, суббота или воскресенье, то он приходится на неделю, которая в основном в декабре. Эта неделя принадлежит предыдущему году — это неделя 52 или 53 только что закончившегося года.
Пример: 1 января 2021 г. (пятница)
Неделя, содержащая 1 января 2021 г., идёт с понедельника 28 декабря 2020 г. по воскресенье 3 января 2021 г. Эта неделя в основном в декабре 2020 г. Её четверг — 31 декабря 2020 г., ещё в старом году. Поэтому эта неделя — неделя 53 в 2020 г., а не неделя 1 в 2021 г.
Неделя 1 в 2021 г. начинается в понедельник 4 января, потому что это первая неделя, четверг которой падает на 2021 г. (четверг 7 января).
Так что для первых трёх дней января 2021 г. (пятница 1-го, суббота 2-го, воскресенье 3-го) номер ISO недели — 53, а год ISO недели — 2020, не 2021.
Когда 31 декабря приходится на неделю следующего года
Та же логика применяется на границе года. Если 31 декабря — понедельник, вторник или среда, то он приходится на неделю, которая в основном в январе следующего года. Эта неделя становится неделей 1 следующего года.
Пример: 31 декабря 2018 г. (понедельник)
Неделя, содержащая 31 декабря 2018 г., идёт с понедельника 31 декабря 2018 г. по воскресенье 6 января 2019 г. Четверг этой недели — 3 января 2019 г., в новом году. Поэтому эта неделя — неделя 1 в 2019 г.
31 декабря 2018 г. имеет номер ISO недели 1 и год ISO недели 2019.
ISO год недели и календарный год
Именно здесь обычно возникает путаница: год ISO недели может отличаться от года по григорианскому календарю для дат около 1 января и 31 декабря.
Год ISO недели — это не то же самое, что календарный год. Большую часть года они совпадают, но на границе года могут отличаться на один год в ту или другую сторону.
| Календарная дата | Календарный год | ISO неделя | Год ISO недели |
|---|---|---|---|
| 28 дек 2020 | 2020 | 53 | 2020 |
| 31 дек 2020 | 2020 | 53 | 2020 |
| 1 янв 2021 | 2021 | 53 | 2020 |
| 3 янв 2021 | 2021 | 53 | 2020 |
| 4 янв 2021 | 2021 | 1 | 2021 |
| 31 дек 2018 | 2018 | 1 | 2019 |
| 1 янв 2019 | 2019 | 1 | 2019 |
Вот почему некоторые программные системы используют обозначение «2020-W53» или «2021-W01» — W-обозначение включает год ISO недели, а не календарный год.
Почему существует это правило
Правило «первый четверг» было разработано, чтобы гарантировать, что неделя 1 — это всегда неделя с большинством дней в новом году.
Неделя, которая содержит 4, 5, 6 или 7 дней в новом году, принадлежит новому году. Неделя, которая содержит только 1, 2 или 3 дня в январе, принадлежит старому году.
Четверг как точка привязки — это то, что делает это простым: четверг — середина ISO недели (день 4 из 7). Если четверг в данном году, то эта неделя имеет минимум 4 дня в этом году — большинство.
Это делает неделю 1 первой неделей, про которую можно разумно сказать «это неделя в новом году», а не неделя, которая пересекает границу с большинством дней в декабре.
Почему это важно на практике
Для большинства повседневных календарных целей это неважно. Но в системах, которые используют номера ISO недель для деловых процессов, граница года имеет значение.
Производство и цепи поставок: Планы производства, графики доставки и циклы инвентаризации часто планируются по ISO неделям. Компонент, положенный «на неделю 1», означает понедельник первой ISO недели — что может быть 4 января, а не 1 января.
Системы расчёта зарплаты: Некоторые компании платят еженедельно или раз в две недели по ISO неделям. Сотрудник, спрашивающий о «зарплате за неделю 53» или «зарплате за неделю 1», должен использовать ISO определение, чтобы понять, какие даты покрыты.
Финансовая отчётность: Компании, которые отчитываются по ISO неделям, должны быть осторожны в конце года. Декабрьская операция на дату, которая приходится на ISO неделю 1 следующего года, может быть отнесена к неправильному отчётному периоду, если система смешивает календарный год и год ISO недели.
Электронные таблицы: Функция WEEKNUM в Excel по умолчанию использует правило начиная с воскресенья, а не ISO. Функция, совместимая с ISO, — это ISOWEEKNUM. Использование неправильной функции в конце года может дать номера недель, отличающиеся на 1 от стандарта ISO, что может вызвать несовпадение между таблицей и любой внешней системой, использующей правильные номера ISO недель.
Годы с 53 неделями
В большинстве лет 52 ISO недели. В году 53 ISO недели, когда 1 января — четверг или когда это среда в високосном году.
Годы с 53 ISO неделями: 2004, 2009, 2015, 2020, 2026, 2032…
В 53-недельном году дополнительная неделя (неделя 53) охватывает границу декабря-января следующего года. Последние дни календарного года и первые дни января оба приходятся на неделю 53 предыдущего года ISO недели.
2026 — это 53-недельный год — 28–31 декабря 2026 г. и 1–3 января 2027 г. — все в ISO неделе 53 в 2026 г.
Быстрая проверка для любой даты
Самый быстрый способ найти номер ISO недели и год недели для любой даты — включая даты на границе декабря/января — это инструмент Текущий номер недели для сегодняшней даты или Калькулятор номера недели для любой конкретной даты. Оба показывают год ISO недели вместе с номером недели, что делает граничные случаи года понятными.
