2011-05-12 33 views
0

使用它的數據的這個在線計算器:http://homer.freeshell.org/dd.cgi我已經成功地編寫了一個工作版本,但是它的數據被限制在1500年到2600年之間。修改(並做出更好的),以便我可以計算任何年份> 2600.星期計算(一個世紀的基準世界末日)的輕微問題

參照表X,實際上是否有計算所有基數世紀(2600以上)的base doomsday的公式?

我試過把自己的工作放在比自己更高的世紀裏,例如, 2700給了我一個基準世界末日'00',2800給'02;,2900再次回到'00'...

幫助讚賞。

回答

0

是否有任何其他計算器在那裏做到這一點?給定一個日期計算 一週中的一天

兩種通用方法是世界末日,你正在使用, 和Zeller's Congruence

www.merlyn.demon.co.uk提供 日期/時間計算一些真正有趣的信息,各種日曆 系統以及與日曆/日期計算相關的重要日期。

+0

謝謝,澤勒的一致是一個更簡單的方法! – stockoverflow

1

據我所知,該頁面的「基準世界末日」只是一個偏移量,允許four-hundred-year cycle of leap day calculations。所以,你可以通過添加四個世紀的塊來無限延伸到未來。

+0

所以,如果我加上接下來的4個世紀......他們會分別有3個,2個,5個,5個? – stockoverflow

+0

是的,這是正確的 –

+0

@Nick有沒有其他計算器可以做到這一點?我可能是錯的。 – stockoverflow

0

在這個鏈接http://homer.freeshell.org/dd.cgi計算器是最好的解釋世界末日算法乾淨清晰的人類,有一點警告。

如果你輸入2/29/1900,它會說它是星期四。那麼,沒有2/29/1900,因爲它不是leap year

當然,如果你的輸入是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.