Как работает инструмент
Инструмент берёт одну календарную дату и определяет номер недели по стандарту ISO week date. В этом стандарте неделя начинается в понедельник, а неделя 1 содержит первый четверг года. Поэтому ISO-год недели на границе декабря и января может отличаться от календарного года выбранной даты.
Для выбранной даты \(D\) сначала определяется ISO-день недели:
$$ d=\operatorname{isoWeekday}(D),\quad d\in\{1,\ldots,7\} $$
Затем дата переносится на четверг той же недели:
$$ T=D+(4-d),\quad Y_{\mathrm{ISO}}=\operatorname{year}(T) $$
Номер недели считается относительно 1 января ISO-года:
$$ W_{\mathrm{ISO}}=\left\lceil\frac{(T-\operatorname{Jan1}(Y_{\mathrm{ISO}}))/86400000+1}{7}\right\rceil $$
Что можно получить
- номер недели по ISO;
- ISO-год этой недели;
- диапазон ISO-недели от понедельника до воскресенья;
- день недели, номер дня в году и квартал;
- готовую краткую сводку для копирования.
Примеры
Дата 1 января 2021 года относится к ISO-неделе 53 и ISO-году 2020. Дата 4 января 2021 года относится к ISO-неделе 1 и ISO-году 2021. Такие пограничные случаи важны для отчетов, планов и календарных таблиц.
Ограничения
Инструмент считает только номер недели по ISO для одной календарной даты. Он не меняет первый день недели, не применяет региональные календарные правила, не исключает выходные и праздники и не учитывает время суток, часовые пояса или переходы на летнее время.
Когда особенно полезно
- нужно проверить границу года, где 1 января может относиться к последней неделе прошлого ISO-года;
- нужно быстро узнать номер текущей или выбранной недели без ручного подсчета;
- нужно вставить готовую сводку в документ, таблицу или переписку.