Небольшая проблема с подсчетом дня недели (базовый конец света для столетия) - PullRequest
0 голосов
/ 12 мая 2011

Из этого онлайн-калькулятора: http://homer.freeshell.org/dd.cgi используя его данные, я успешно написал рабочую версию, однако его данные ограничены годами с 1500 по 2600. Я хочу изменить (и сделать лучшую) так, чтобы Я могу рассчитать на любой год> 2600.

Ссылаясь на таблицу X, существует ли на самом деле формула для расчета базового дня конца света для всех базовых веков (свыше 2600)?

Я пытался решить это сам, ставя века выше этого, например. 2700 дал мне базовый конец света «00», 2800 дал «02», 2900 снова «00» ...

Помощь оценена.

Ответы [ 3 ]

1 голос
/ 12 мая 2011

Насколько я понимаю, «базовый конец света» на этой странице является просто смещением, чтобы учесть четырехсотлетний цикл вычислений високосного дня . Таким образом, вы можете продлить его на неопределенное время в будущем, просто добавив блоки четырех столетий.

0 голосов
/ 07 марта 2016

Калькулятор по этой ссылке http://homer.freeshell.org/dd.cgi является лучшим с точки зрения ясного и ясного объяснения алгоритма конца света для человека с одним небольшим предостережением.

Если вы введете 2/29/1900 , это будет четверг. Ну, нет 29.02.1900, потому что это не високосный год .

Конечно, если ваш ввод 1/35/2016, он также будет "мусором в мусоре" для вас.

Представьте, что в году всего 364 дня, тогда день недели для каждой даты никогда не будет меняться год за годом, потому что mod(364,7)==0.

Но у нас есть 365 дней в году, поэтому день выходит вперед на 1 каждый год, вот откуда начинается второй срок mod(year, 7).

Кроме того, каждые 4 года существует високосный год, который способствует последнему сроку mod(year, 4).

Но каждые 100 лет вы вычитаете високосный год, а каждые 400 лет вы добавляете один високосный год. Вот где появляется первый термин «3,2,0,5».

Видите ли, это все из-за этого високосного года и mod(365,7)==1 бизнеса.

7/11, 5to9 помогает очень хорошо запомнить таблицу Z.

0 голосов
/ 12 мая 2011

Есть ли другие калькуляторы, которые делают это?

Два распространенных метода расчета дня недели учитывая дату конца света, которую вы используете, и конгруэнция Зеллера

www.merlyn.demon.co.uk предоставляет некоторая действительно интересная информация о вычислениях даты / времени, различный календарь системы и значимые даты, поскольку они относятся к календарю / расчетам даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...