為什麼萬年曆到1900年就不能繼續往上看了?
前幾天翻閱知乎,有人說1752年的九月份會少10天,就去翻閱了一下,結果只能看到1900年就不可以了
1、你說的這個「萬年曆」是Windows自帶的日曆吧?
為什麼它最早到1900年呢?因為程序員嫌麻煩。如果程序員願意,他可以推算到幾千年以前。
2、1752年9月真的少10天嗎?
是,也不是。——至少這個說法是不準確的。
準確的說法是:「英國1752年9月少了11天」。但其他國家並沒有少。因為,「其他國家在1582年10月少了10天」。
為什麼呢?
因為我們現在所用的公曆(公元歷),經歷了兩個發展階段。這個曆法最早是羅馬執政官儒略·凱撒(現在一般翻譯為尤里烏斯·凱撒)提出的,所以叫做儒略曆。——你看,凱撒不但會打仗,還懂曆法。
儒略曆是每4年置1閏年,閏年多出的一天加在2月。——這貌似和我們今天的曆法一毛一樣啊,有什麼不同嗎?
有。如果按照每4年1閏的曆法,那很簡單能計算出每年的長度是365.25天。——而實際上地球繞太陽公轉一周是365.2422天,兩者相差了0.0078天。
別看這個差值很小,但積攢下來就不得了,那最後到底誤差達到多少呢?誤差是每400年差3天。
(當然,儒略曆還有一個插曲,就是凱撒死後,被笨蛋祭祀理解錯置閏規律,將「每4年1閏」理解成了「到第四年置閏」,結果搞亂了好幾年,最後被屋大維糾正。屋大維糾正後的儒略曆,又叫「奧古斯都歷」)所以,儒略曆使用1000多年後,就誤差非常大了,到1582年,曆法和實際天文觀測之間,相差了整整10天。於是,當時的教皇格里高利修訂了儒略曆,他將原來的置閏規則做了一個小修改。原來是每4年1閏,也就是能被4整除的年份是閏年,現在格里高利規定,如果遇到整百的年份(也就是後面兩個0的年份,如1000年,1100年,1200年),必須要被400整除,才能算閏年。
這麼一來,以前1000年、1100年、1200年、1300年都是閏年,現在只有1200年才是閏年。400年里少了3個閏年,恰好消除了以前每400年多三天的誤差。——這就是格利哥里歷,是非常精確的一個曆法,我們現在使用的公曆,就是格里高利曆。
1582年,教皇格里高利發布命令,用格里高利曆取代儒略曆。但是,到這一年儒略曆已經比格里高利曆多了10天。怎麼辦呢?格里高利命令,在10月份減去10天。所以在歐洲大多數國家,1582年10月少了10天,10月4日的第二天,就是10月15日。
這是歐洲大陸的情況,但英國不同,英國這個國家可以說是非常保守的,別的國家都換曆法了,就他們死撐著不換。(比如今天絕大多數國家都用國際單位制了,就英國和美國還死抱著英尺英里之類的不放)。撐就撐吧,但撐了一百多年,到了1752年,終於撐不下去了,於是英國也宣布用格里高利曆代替儒略曆。
可是這又過去這一百多年的時間,儒略曆比格里高利曆又多出了1天,所以英國決定在1752年9月,減去11天,所以在英國,1752年9月2日的第二天,就是9月14日。——但歐洲其他國際並不是這樣。
有一個很著名的段子,說伽利略去世的那年,正好牛頓出生。伽利略1642年1月8日去世,牛頓1642年12月25日出生,這看上去他們好像真是同一年。其實不然,別忘了,伽利略是義大利人,使用的是格里高利曆。牛頓是英國人,使用的是儒略曆,如果把兩個曆法之間的差值算進去,他們還真不是同一年。牛頓的生日如果換算成格里高利曆,那就是1643年1月4日,恰好和伽利略去世的年份差了一年。有人說了公曆,我來說說農曆:
農曆是一種天文曆法,必須通過天文觀測來確定大小月、閏月等信息,由於地球、月球、太陽三者並不是處於絕對穩定的運行軌道中,所以人類無法計算出很早以前或者很多年以後的地日月位置信息,因此農曆根本沒辦法做到萬年,實際上官方只公布近十幾年到幾十年的農曆信息,太遠的就不能保證準確度了。
現行農曆的官方機構:現行的農曆是哪個機構計算並出版的? - 天文學 - 知乎
這還只是現代的,如果回到古代,就更麻煩了,古代曆法多次修訂過,農曆的計算方式都大改過(歲首、節氣、測量基準點等等),現在的農曆演算法放到古代都未必適用。
古代農曆與公曆的對應,國內有人做過研究,並且有出版:三千五百年曆日天象_百度百科,一般古代曆法資料都會參考這個本書(註:此書似乎也有一些矛盾的地方)。
所以不要指望一個簡單的手機軟體就能覆蓋幾百年甚至上千年的日曆,如果真的需要這方面的日曆信息,需要通過專業工具查詢(據我所知:占星軟體astrolog在內部處理了1752問題,讀源碼時發現的,但具體行為沒有驗證過)。萬年曆應該是帶農曆的那種日曆嗎?如果是的話,之前查過一陣子的農曆資料,那我稍微說一下。這種農曆估計也沒法查超過 2100 年後的農曆吧。
為什麼只到 1900 年不能更前呢。嚴格說不是@三種不同的紅色 說的程序員太懶,而且現在似乎也沒有公開的代碼可以讓人往前推「數千年」,歷史上的農曆計算也是一直在演變的。
這裡要先稍微說一下現行的農曆演算法,大家知道人類目前運用最廣的曆法是公曆,與行星運行的周期還是要通過四年一閏百年不閏四百年又閏之類的方式來保證公曆和行星運行比較匹配,而說回農曆,農曆比公曆更複雜,分為大小月部分年份還有閏月,而閏月的劃分又和節氣有關係,而節氣又是依賴於地球的運行位置,所以不同年的農曆往往是不同的,這決定了農曆演算法往往除了自帶某個日子(比如 1900 年 01 月 01 日)的具體農曆和具體公曆之外,還要把接下來的所有有效範圍年份有沒有閏月、閏月是第幾月、農曆年裡每個月大小月的劃分等信息,才能通過公曆算出這些年份里的對應的農曆。
而上面這種演算法導致一個結果,如果我們不知道 1899 年的農曆信息,我們無法將這 1899 年的日曆從公曆轉為農曆。
市面上基本只有 1900 年(有時候是帶 1899)後到 2100 的信息的農曆演算法,所以大家基本都把查詢範圍放在這個範圍內。大概 1991 年的時候,紫金山天文台以前出過一本《大眾萬年曆》,覆蓋的時間範圍就是 1901 年到 2050 年,個人懷疑基本上後來一些演算法的農曆基準就是本書,但是這本書算的結果有點問題,而後來也沒有出過這種跨度很長的農曆,這幾年紫金山天文台每年只出後十年的簡易農曆年曆,比如 2016 年 3 月出版的書就是《2017 - 2026 十年袖珍月曆》。
(書的前言)P.S.當然市面上還有些可能是靠自己天文數據來算出農曆的萬年曆,不過數據的準確性看看就好。比如很多演算法說 2097 年 08 月 07 日是初一,但實際上現在天文台也沒辦法保證那天會不會是初一,甚至近一點的 2021 年冬至是 12 月 21 日還是 12 月 22 日都不確定。(http://gb.weather.gov.hk/gts/time/conversionc.htm)
P.S.2.其實農曆也決定了多數時候對於四五十年後的農曆,我們現在只能做一個估計,因為有些節氣壓在兩天的交界究竟是前一天還是後一天都沒辦法在當前確定,而節氣又有可能導致農曆大小月不同的。所以如果往後穿越到未來,最好使用公曆。
P.S.3如果你想查更詳細的歷史日曆轉化改怎麼辦呢?對岸中央研究院有做一個線上工具:http://sinocal.sinica.edu.tw如果是農曆,中國的曆法歷朝歷代都會修訂,記得兩宋時期宋的曆法總共改了20次,直到明清開始引入近代天文學方法,曆法才穩定下來;而且就算是同一歷史時期,各割據政權、南北朝都可能因為曆法的區別而導致日期不同。這使得想做一個追溯整個中國歷史的萬年曆軟體相當困難。
而且,在中國以外使用中國式曆法的國家,其曆法和中國本土使用的也不一定相同。如日本在改用公曆之前的最後幾個曆法,寬政歷、天保歷等,置閏法與當時清朝使用的時憲歷不同,使得某幾年兩種曆法出現了日期上的區別。至於公曆,現在通行的格里高利曆是1582年才制定下來的,而各國最終以此曆法為主流是19世紀之後的事情,如俄國直到十月革命後才使用該歷。
看成了萬曆1900年。哈哈哈哈哈。。。。。。
1900年乃是我大程序員元年,往上都是假的!我們不接受毫秒數是負數的年份,哼哼!
照著高票答案,還真是
iphone上1582.10月沒有修改
其實,就是沒有必要了。
微軟的操作系統,日期自1900年1月0日起(第0日),編算1900年以前的萬年曆(查表法),需要手動計算(excel不好用了)。
而1900年出生的人,在操作系統誕生的時候,就已經不多了…還編以前的日曆,其實沒啥用。考證歷史事件的日期,其實只是歷史學者的個人愛好,9月1號與9月2號其實沒差別。天文計演算法,其實也是查表法,只不過查的是天文數據。17年過去了,人們已經忘記了2000年跳轉1900年的,千年蟲襲來的恐懼嗎
那是您找的軟體不夠好。武漢華中農業大學的劉安國教授的日梭萬年曆,標準版可以查1800-2100年的公曆農曆伊斯蘭曆情況。還有個版本從1583年到5582年的四!千!年!至於為什麼普通軟體都是1900年開始,我覺得從編程方法上,一個原因是使用數組使農曆與公曆對應,一般比較懶,就從1900-2100兩百年的時間了。還有一種方法是Vsual Studio里有個中國農曆的控制項(名字記不住了)它就是從1900-2100年的,所以以此編程的話自然時間範圍有限。
下元甲子萬年歷
因為市面上的萬年曆,大多是基於查表法製作的。只能是根據公布的數據查詢得到農曆日期的,所以範圍有限。自己曾經寫過一款,根據天文數據計算地月位置來推算農曆的軟體。理論上幾萬年都應該沒問題。但是歷史上公曆和農曆都有過數次調整,記得1645年農曆有一次重大調整(清初頒布的時憲歷),所以靠演算法算出來的會和實際對不上。另外說一下,考據中國歷史上某個事件對應的公曆日期是很複雜的一件事(特別是再考慮上年號),基本只能有專業歷史學家來做。歷史學家最喜歡的就是史書上記載了天文事件(例如彗星),那樣對推算日期能提供很大方便。
多年前寫過個日曆軟體,設置上下限短的就會有這種情況。
天文曆法不同,算命先生都在瑟瑟發抖
難道真的是軟體的問題,程序師太懶了?
1900年發明的啊
推薦閱讀:
※iphone6S自帶日曆裡面的收件箱已回復邀請怎麼刪掉?
※漢武帝太初元年有十五個月嗎?
※今年農曆的六月怎麼這麼兩個節氣還出了個閏月?
※墨跡天氣,365日曆,中華萬年曆三個哪個好用?
※為什麼在歐美日曆里,一周的開始常常是周日,而不是周一?