回覆列表
-
1 # 使用者2924333547920711
-
2 # 使用者1743018060354
星期幾的連續性沒有被打斷過。但公元一年用的是儒略曆,現在用的是格里高利曆,兩者在16世紀銜接轉換。所以公元1年1月1日應該指的是儒略曆的1年1月1日。儒略曆和格里高利曆最大的不同在於儒略曆的閏月設定是根據實際天象觀測人為調整的(類似於現在的農曆,農曆的置閏是根據節氣系統確定的,而節氣具體時間是每年根據觀測釋出的),因此只憑借曆法規則,而沒有古羅馬實際置閏記錄的話,是無法反推到1年1月1日具體是哪天的。
首先,公元1年的第一天肯定是週一,要計算某年的第一天是周幾,只要利用這天與起始天之差,與7求餘,然後就能得到了
假設這個程式時輸入的年份year,則該年的第一天距離起始天之差為(year-1)*365+閏年的個數
問題轉化為求閏年的個數,
大概是每四年一個閏年,但是每一百年要扣除一個閏年,
所以我們得到公元1年到year-1年內的閏年個數是
(year-1)/4-(year-1)/100
但是又扣多了,沒400年又要再多一個閏年,
再次修正得到,
(year-1)/4-(year/100)+(year/400)