таблица номера дней в году
§3. Пересчет даты в порядковый номер дня года
Во многих астрономических расчетах необходимо бывает знать число суток, истекших с начала года до определенной даты. За начало отсчета примем 0 ч нулевого января, другими словами полночь между 30 и 31 декабря предыдущего года. На первый взгляд это может выглядеть довольно странным, одиако мы будем придерживаться в дальнейшем такого выбора начала отсчета, поскольку он нам упростит вычисления. Полдень 3 января записывается в виде январь 3,5, поскольку с момента январь 0,0 прошло три с половиной дня, как это наглядно показывает рис. 1.
Рис 1. Определение эпохи |
Таким образом, нахождение порядкового номера дня по дате не составляет труда. Это делается следующим образом:
Замечание Звездочкой отмечены високосные года.
Число дней года, истекших к началу данного месяца | ||
---|---|---|
Обычный год | Високосный год | |
Январь | 0 | 0 |
Февраль | 31 | 31 |
Март | 59 | 60 |
Апрель | 90 | 91 |
Май | 120 | 121 |
Июнь | 151 | 152 |
Июль | 181 | 182 |
Август | 212 | 213 |
Сентябрь | 243 | 244 |
Октябрь | 273 | 274 |
Ноябрь | 304 | 305 |
Декабрь | 334 | 335 |
Пример ЗА. Вычислить, какой порядковый номер в году имеет день 17 февраля (год невисокосный).
Если у вас имеется программируемый микрокалькулятор, то вы можете ввести в память микрокалькулятора программу R1, позволяющую проводить вычисления автоматически.
Далее по всей книге в качестве нуль-пункта, или эпохи, относительно которой будут вычисляться положения небесных тел, мы примем эпоху 1980 Январь 0,0. Число суток, истекших с этого момента до начала любого года вплоть до 1999 г., приведено в табл. 2А. Чтобы найти полное число суток, истекших от опорной эпохи, надо просто к соответствующему значению из табл. 2А прибавить порядковый номер дня в году, вычисленный только что описанным способом.
Пример ЗБ. Число дней, истекших от опорной эпохи к 17 февраля 1985 г., составляет 48 + 1827 = 1875.
Эту величину можно было бы подсчитать также при помощи системы юлианских дней ( см. §4).
Программа R1. Пересчет даты в порядковый номер дня года.
Изучаем календарь
«Существует ли год, в котором ни один месяц не начинается в понедельник?»
На первый взгляд — да. Год может начинаться с любого дня недели, месяцы тоже каждый раз начинаются в разные дни недели. Вариантов множество, скорее всего, найдётся и не один такой год.
Так я подумал в первую минуту после того, как задался вопросом. Это следовало бы доказать. Перебрать все года, например. Простой и быстрый способ, но не интересный. Доказать математически было намного более заманчивой идеей, но как к этому подступиться я совершенно не понимал. Поэтому просто начал выписывать продолжительность каждого месяца на бумагу.
Тут стоит оговорить, что речь дальше пойдёт про григорианский календарь, по которому мы живём с 1918 года. Однако часть рассуждений будет верна и для юлианского.
На самом деле такого года не существует. Давайте разбираться почему.
Часть 1. Месяцы
Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
31 | 28 / 29 | 31 | 30 | 31 | 30 | 31 | 31 | 30 | 31 | 30 | 31 |
Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
3 | 0 / 1 | 3 | 2 | 3 | 2 | 3 | 3 | 2 | 3 | 2 | 3 |
если в месяце (28 + N) дней, то первое число следующего месяца сдвинется на N дней относительно дня недели первого числа текущего месяца.
Например, в этом году январь начался во вторник, поэтому февраль начался в пятницу. Вт + 3 = Пт.
Насколько же сдвинут день недели первого числа некоторого месяца? Чтобы найти это, надо просуммировать «излишки» дней над четырьмя неделями во всех предыдущих месяцах. В таблице представлены сдвиги относительно дня недели на первое января. Первая строка для невисокосного года, вторая для високосного.
Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
0 | 3 | 3 | 6 | 8 | 11 | 13 | 16 | 19 | 21 | 24 | 26 |
0 | 3 | 4 | 7 | 9 | 12 | 14 | 17 | 20 | 22 | 25 | 27 |
Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
0 | 3 | 3 | 6 | 1 | 4 | 6 | 2 | 5 | 0 | 3 | 5 |
0 | 3 | 4 | 0 | 2 | 5 | 0 | 3 | 6 | 1 | 4 | 6 |
Вот теперь другое дело! Ясно видно, как определить день недели на первое число любого месяца, если известен день недели на первое января. Надо просто прибавить сдвиг для интересующего месяца. Закономерность февраль-март-ноябрь я знаю ещё со школы, а другие не замечал.
Мы получили ответ на вопрос в начале статьи.
Так как для обоих вариантов года в таблице присутствуют все сдвиги от 0 до 6, то в любом году есть месяц, который начинается в какой-то определённый день недели.
Но теперь можно задавать другие вопросы. Например, «в каких годах такой месяц только один?» или «в какие года таких месяцев максимально много?». Для этого надо уметь определять день недели на первое января любого года.
Часть 2. Годы
Когда я учился программировать, а это было в 10 классе школы на PascalABC, одним из первых серьёзных заданий было реализовать процедуру, распечатывающую календарь на год, который передавался как аргумент. У нас были подсказки, какие функции для этого надо реализовать. В целом всё сводилось к подсчёту дней между двумя датами: эталонной и текущей, чтобы определить день недели на первое января нужного года.
Такой подход работал, но скорость зависела от того, насколько близко необходимый год к эталонному. Меня это расстраивало, но придумать что-то лучше я тогда не смог. Теперь же настал идеальный момент, чтобы до конца разобраться в этом.
Високосные года в григорианском календаре назначаются следующим образом:
Из этого описания видно, что цикл високосности имеет период в 400 лет. Но не ясно, будут ли такие четырёхсотлетние циклы начинаться в один и тот же день недели.
Заметим, что первое января от года к году смещается на один или два дня недели, и напишем
В григорианском календаре все четырёхсотлетние циклы начинаются в понедельник.
Первое столетие начинается со смещением по циклу, равным 0, второе со смещением 4, третье со смещением 8 и четвёртое со смещением 12. Именно для этого таблица представлена в виде, где в столетии есть «сотые» года и нет нулевых. Стоит сказать, что всего существует 14 различных вариантов года. В двадцативосьмилетнем цикле по одному разу на каждый день недели приходится начало високосного года и по три раза начало не високосного.
Теперь мы можем определить день недели для любой даты, не используя опорных дат. Для этого нам надо понять, в каком столетии внутри четырёхсотлетнего цикла находится год и какой он по счёту в этом столетии. По таблице определим день недели на первое января года, а с помощью первой части статьи — день недели в конкретное число нужного месяца. Вместо тысячи слов
Часть 3. Итоги
С помощью всего двух таблиц можно определить день недели для любой даты, не используя при этом опорных дат.
Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
0 | 3 | 3 | 6 | 1 | 4 | 6 | 2 | 5 | 0 | 3 | 5 |
0 | 3 | 4 | 0 | 2 | 5 | 0 | 3 | 6 | 1 | 4 | 6 |
Во время написания статьи, я нашёл на Хабре две схожие по тематике: раз и два. Автор первой с помощью специальной таблицы показывает, как найти в уме день недели для дат в XX и XXI веках. Представленная им таблица содержит 56 чисел. Предложенный в статье алгоритм использует таблицу дней недели и две таблицы смещений, содержащие (28 + 2*12) = 52 числа, которые необходимо запомнить. Весь исходный код лежит на GitHub’е.
Интересный факт: с 1 по 13 февраля 1918 года в Советской России не родился ни один человек.
Задавайте себе вопросы с утра по воскресеньям =)
Обновление от 03.07.2019 (среда)
Если представить двадцативосьмилетний цикл в виде таблицы,
то становится понятно, как можно вычислить смещение дня недели на первое января:
С учётом этого, а также того, что смещения для месяцев в високосном году можно вычислить через смещения в невисокосном, напишем
Таким образом, можно вычислить день недели для любой даты, зная всего лишь 12 чисел: смещения дней недели на первое число каждого месяца.
Производственный календарь 2021, как считаются недели?
Существует несколько подходов к расчету номера недели в году:
Стандарт ISO 8601 и соответствующий ему ГОСТ ИСО 8601-2001 «ПРЕДСТАВЛЕНИЕ ДАТ И ВРЕМЕНИ» —
официально принят в России с 2002 года как государственный. Конечно все календарные сетки, напечатанные в типографиях должны использовать именно этот способ подсчета номера недели.
Каким же образом происходит счет недель?
Первой неделей года является та неделя, на которую попадает первый четверг нового года, или, что эквивалентно, та неделя, которая содержит число 4 января.
То есть в 2021 году 1, 2 и 3 января будут относиться к 53-ей неделе 2020 года. 4 января – понедельник, 4-10 января станут первой неделей 2021 года.
Таким образом, в году может содержаться 52 или 53 недели.
Согласно иудейскому и христианскому календарям, основанным на Библии, воскресенье считалось первым днём недели. Он наступает после субботы, седьмого дня недели в старых религиозных календарях. Христианство заимствовало порядок дней недели из иудейского календаря. В Римской империи первый христианский император Константин ввёл в 321 г. семидневную неделю и назначил воскресенье первым днём недели и днём отдыха и поклонения.
В США, Израиле, Канаде и некоторых африканских странах первым днем недели считается воскресенье. Первая неделя в этих странах та, на которой выпало 1 января, вторая неделя начинается не с понедельника (как у нас), а с воскресенья.
Способ похож на «с воскресенья» (первая неделя – та, где есть 1 января), только вторая неделя начинается с понедельника.
С 1 января начинается первая неделя года, через семь дней, 8 января — вторая неделя года и так далее до конца года.
Отчетность в октябре и ноябре 2021 года — как меняются сроки из-за нерабочих дней
С 30 октября по 7 ноября в России введены нерабочие дни с сохранением зарплаты. Дополнительно Президент дал должностным лицам субъектов РФ возможность продлить период нерабочих дней в регионе. Разберемся, как внеплановые «выходные» повлияют на сроки сдачи отчетности и уплаты налогов.
Отчетность и платежи в ФНС
Федеральные нерабочие дни введены по всей России, а региональные — в отдельных субъектах РФ. Из-за этого сроки сдачи отчетности в разных локациях могут отличаться.
Федеральные нерабочие дни
Указ президента РФ от 20.10.2021 № 595 вводит нерабочие дни с сохранением зарплаты с 30 октября по 7 ноября. Это ограничение действует по всей РФ.
ФНС сообщила, что 6-НДФЛ и РСВ за девять месяцев 2021 года работодатели смогут сдать позже. Срок перенесли на первый рабочий день после коронавирусных выходных — 8 ноября (информация ФНС от 26.10.2021).
До 8 ноября можно уплатить авансовые платежи по налогу на имущество, транспортному и земельному налогам, если в субъекте РФ или муниципальном образовании введены отчетные периоды.
Важно! Даже если организация продолжит работать в нерабочие дни, перенос сроков для нее все равно будет действовать. Президент в своем указе не выделил отрасли, которые могут продолжать работу, поэтому ФНС тоже не стала разделять налогоплательщиков на категории и перенесла сроки всем.
Региональные нерабочие дни
У должностных лиц субъектов РФ есть право увеличить количество нерабочих дней (п. 2 указа президента № 595). Их могут ввести раньше 30 октября или закончить позже 7 ноября. Так поступили в Москве и Подмосковье, Нижегородской области и пр. Изучите региональное законодательство, чтобы проверить, на какой срок введены нерабочие дни в вашем регионе.
ФНС не сделала оговорки о том, переносят ли региональные нерабочие дни сроки сдачи отчетности и уплаты налогов.
В период региональных нерабочих дней в апреле-мае 2020 года такой перенос предусмотрен не был, поэтому контролирующие органы выставляли штрафы за СЗВ-М и судились с работодателями. Стоит отметить, что суды вставали на сторону организаций и предпринимателей. Но если вы не хотите спорить с ФНС, лучше сдать отчетность до 8 ноября (постановление Арбитражного суда Западно-Сибирского округа от 15.07.21 № Ф04-3518/2021 по делу № А46-16132/2020, Постановление АС Западно-Сибирского округа от 29.06.2021 № Ф04-3576/2021).
Обратите внимание! Если в регионе введены нерабочие дни, но они не распространяются на вашу организацию, отчетность следует сдать именно в федеральные сроки. Исключением могут стать компании, которые, несмотря на свое право работать, приостановили деятельность. Но им придется подготовить доказательства для инспекторов и, возможно, суда.
Отчетность в Росстат
Росстат перенес сроки сдачи 16 форм статистической отчетности с 30 октября — 3 ноября на 8–9 ноября (информация Росстата от 28.10.2021). Сам орган в нерабочие дни продолжит работать и будет принимать отчетность у всех желающих отчитаться раньше крайнего срока.
До 8 ноября следует сдать формы:
До 9 ноября следует сдать формы:
Текущий номер недели
Смотрите здесь текущий номер недели в году. Мы позаботимся, чтобы предыдущий, текущий и следующий номер недели всегда был указан снизу
Пн | Вт | Ср | Чт | Пт | Сб | Вс | |
---|---|---|---|---|---|---|---|
39 | 27 | 28 | 29 | 30 | 1 | 2 | 3 |
40 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
41 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
42 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
43 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Календарная неделя, это период времени, состоящий из семи дней внутри календарного года. Согласно Межгосударственному стандарту: ГОСТ ИСО 8601-2001 «ПРЕДСТАВЛЕНИЕ ДАТ И ВРЕМЕНИ», неделя начинается с понедельника и идентифицируется своим порядковым номером в году. Первой календарной неделей года считают первую неделю, содержащую первый четверг текущего года. Последней календарной неделей календарного года считают неделю, которая предшествует первой календарной неделе следующего года. Таким образом в году может содержаться 52 или 53 недели, 29, 30, 31 декабря могут относиться к первой неделе следующего года, и наоборот, 1, 2, и 3 января могут относиться к 52 или 53 неделе прошлого года.
Ищете номер недели определенной даты в 2020, 2021, 2022 или далее?