Поиск N-го дня недели в месяце
Найдите точную дату любого дня недели — с 1-го по 5-й или последнего — в любом месяце, например 3-й четверг ноября.
Калькулятор
Thursday, May 21, 2026
Тот же день недели в следующие годы
- Год 20272027-05-20
- Год 20282028-05-18
- Год 20292029-05-17
- Год 20302030-05-16
- Год 20312031-05-15
Даты рассчитываются по UTC-арифметике и точны для годов с 1900 по 2200.
Об этом калькуляторе
Многие повторяющиеся события и государственные праздники приходятся на определённый день недели конкретного месяца, а не на фиксированную дату — День благодарения в США всегда выпадает на 4-й четверг ноября, День памяти — на последний понедельник мая, и бесчисленные регулярные встречи следуют тому же принципу. Этот инструмент мгновенно переводит любое правило «N-й день недели» в точную дату. Выберите день недели, порядковый номер (с 1-го по 5-й или Последний), месяц и год, чтобы увидеть дату.
Как читать результаты
Карточка результата отображает вычисленную дату в формате ISO (ГГГГ-ММ-ДД) вместе с названием дня для подтверждения. Если в месяце нет 5-го вхождения выбранного дня недели — например, в феврале редко бывает 5-я пятница — калькулятор сообщает об этом явно, а не показывает неверную дату. Дополнительный вид повторения перечисляет тот же N-й день недели на несколько ближайших лет, что удобно для планирования регулярных напоминаний.
Пример расчёта
3-й четверг ноября 2026 года.
Ноябрь 2026 года начинается в воскресенье. Первый четверг приходится на 5-е, второй — на 12-е, третий — на 19-е. Результат — 2026-11-19, День благодарения в США.
Частые вопросы
Почему некоторые 5-е дни недели не существуют?
В месяце 28–31 день, то есть всего 4 полных недели плюс 0–3 дополнительных дня. Конкретный день недели может встречаться не более 5 раз, но только если месяц начинается или заканчивается именно этим или смежным днём. В феврале (28 дней) в невисокосные годы каждый день недели встречается ровно 4 раза, поэтому 5-е вхождение невозможно. Даже в 31-дневных месяцах лишь 3 из 7 дней недели появляются 5 раз.
Можно ли использовать это для регулярных событий вроде командных встреч?
Да. Задайте день недели и порядковый номер, соответствующие расписанию ваших встреч (например, «2-й вторник»), затем вручную перебирайте месяцы или воспользуйтесь видом повторения, чтобы сразу увидеть даты за несколько лет. Скопируйте список в таблицу или календарный инструмент для массового добавления событий.
Как это помогает с праздниками вроде Дня благодарения или Дня памяти?
День благодарения в США — 4-й четверг ноября; День памяти — последний понедельник мая; День труда — 1-й понедельник сентября; канадский День благодарения — 2-й понедельник октября. Введите нужное правило и год, чтобы найти точную дату без обращения к календарю. Та же логика работает для аналогичных «плавающих» праздников по всему миру.
Умеет ли калькулятор работать с високосными годами?
Да. Для подсчёта дней в месяце используется Date.UTC(год, месяц, 0), который корректно возвращает 29 для февраля в високосные годы и 28 в остальных случаях, поэтому результаты точны для любого года с 1900 по 2200.
Как выполняется расчёт
Алгоритм определяет день недели 1-го числа целевого месяца (используя UTC-арифметику дат для избежания крайних случаев с часовыми поясами), затем вычисляет смещение до первого вхождения выбранного дня недели: смещение = (целевой_день − первый_день + 7) mod 7. N-е вхождение приходится на день 1 + смещение + (N − 1) × 7. Если это число превышает количество дней в месяце, результат равен null. Для «последнего» поиск ведётся в обратном направлении от последнего дня месяца. Источники: стандарт дат ISO 8601; проверка по календарю timeanddate.com.
Заметили неточность в переводе или расчёте, или есть предложение? Напишите нам.