1. 農歷的計算方法
首先我復制粘貼的,還有就是演算法復雜,可能你的同事心算能力強!
陽歷日期推算陰歷日期的方法:陰歷日期是以月亮的圓缺為計月單位,其以逢朔為初一,以月望為十五(大月為十六日),以月晦為二十九日(大月為三十日)。然而目前記時通常用陽歷日期表達,如欲將陽歷日期換算成陰歷日期可以用以下兩種方法:其一是查《新編萬年歷》,如查1984年6月8日是陰歷幾日?翻開萬年歷6月10日是陰歷十一,則逆推6月8日是陰歷初九。其二可以利用公式推算陰歷日期:
設:公元年數-1977(或1901)=4Q+R
則:陰歷日期=14Q+10.6(R+1)+年內日期序數-29.5n
(注:式中Q、R、n均為自然數,R<4)
例:1994年5月7日的陰歷日期為:
1994-1977=17=4×4+1
故:Q=4,R=1 則:5月7日的陰歷日期為:
14×4+10.6(1+1)+(31+28+31+31+7)-29.5n
=204.2- 29.5n
然後用29.5去除204.2得商數6......27.2,6即是n值,余數27即是陰歷二十七日。
2. 農歷的規則計算
節氣和朔望的時間計算以東經120度,中國標准時間為准。
(農歷法則據中國科學院紫金山天文台) 黃經:是在黃道坐標系統中用來確定天體在天球上位置的坐標值、共分成360度、在這個系統天球被黃道平面分割為南北兩個半球,太陽移到黃經0度為春分、移到黃經90度為夏至、移到180度為秋分、移到270度時為冬至。
朔日:月球移到地球和太陽中間時的那一天叫朔日。
平朔:用朔望月的平均長度計算、沒考慮日月運行的不均等性;缺點:「含有真正的「朔」的當天有時可能會出現在前一月的最後一日(「晦日」、廿九日或卅日),有時會出現在初二」。
定朔:計算考慮了日月運行的不均等性,將含有真正「朔」的當天作為每月的開始。
平氣:計算不考慮太陽在黃道上運動快慢不勻,將一周年時間(回歸年)24等分劃分出二十四節氣,兩個節氣之間的平均天數為15.22天。
定氣:計算考慮太陽在黃道上運動快慢不勻,將定氣兩個節氣之間的天數不一樣、短的只有14天、長的達16天。
冬至日:冬至交接時間所在的那一天就叫冬至日。冬至日必須在子月:冬至日當天或冬至日前的那個朔日定為子月初一「起點」(注意:起點和算命不同)。
建正:年首月份,農歷的建正就是「夏正」:夏歷正月建寅[子月為十一月];
殷正:殷歷正月建丑[子月為十二月]、魯歷同殷歷;
周正:周歷(周朝歷)正月建子[子月為正月];
秦正:秦歷《顓頊歷》正月建寅,十月建亥為一年的第一個月。
節氣:一年分十二節令、十二中氣,共二十四個節氣,清朝《時憲歷》(公元1645年)以前用平氣標注,清朝《時憲歷》(公元1645年)以後用定氣標注。注意標注和計算的不同,農歷定氣演算法在隋唐時代就已經產生,但受到當時保守勢力的阻攔並沒有完成從平氣標注到定氣標注的轉變,比如僧一行修訂《大衍歷》時倡議定氣注歷,但朝廷並未採納他的學說,最終定氣演算法在明末之前只用於計算日躔、五星行度和日月食預報。到了明末的《崇禎歷書》經過激辯,最終確立的定氣注歷的原則。
歷法:可分為陽歷、陰歷、陰陽歷三種:
陽歷(太陽歷):以太陽周年視運動周期(即回歸年,約等於365.2422日)為一年,一年劃分成12個月,它與月亮運動毫無關系。根據陽歷日期,可知寒來暑往的四季變化、合理指導農業等事。公歷(學名格里高利歷)就是陽歷的一種。
陰歷(太陰歷):以月亮的圓缺周期(即朔望月,等於29.530588日)為一個月,積12個月為一年。它完全不考慮太陽的周年視運動規律,因而陰歷的日期不能顯示四季冷暖。這種歷法實用價值太小,現除伊斯蘭教外,已棄置不用了。
陰陽歷:我國的農歷屬於此類,它取月相的變化周期即朔望月為月的長度,參考太陽回歸年為年的長度,通過設置閏月以使平均歷年與回歸年相適應。根據農歷日期,既可知道潮汐漲落,又可大概掌握四季更替。
歷書:記載歷法等相關信息的出版物,如黃歷、萬年歷書。而電子歷書是科技發展的產物,是新的載體。 中國科學院紫金山天文台歷算組發布
1.計算採用北京時間為標准。
2.太陽和月亮位置的計算依據國際天文學聯合會(Internation Astronomical Union)下屬的基礎天文標准評 審委員會(the Standards Of Fundamental Astronomical Reviewing Board) 推薦的天體位置歸算標准模型。
3.朔所在的農歷日為農歷月首。
4.冬至所在的農歷月為十一月。
5.如果從某個十一月開始到下一個十一月(不含)之間有13個 農歷月,則取其中最先出現的一個不包含節氣的農歷月為閏月;
6.十一月之後第2個(不計閏月)農歷月為農歷年的起始月。
7.農歷年干支的參考時間:對應於北京時間公歷1984年2月2日 零時起到1985年2月 20日零時止的時間間隔的農歷年為甲子年。
8.農歷日干支的參考時間:對應於北京時間公歷1984年1月31 日的農歷日為甲子日。 在古代,日的定義:以地球自轉一周為一日。其中以太陽離地平線最遠的一個時辰為子時,相當於北京時間23:00~1:00。但是農歷中一天始於子正(0:00),而非夜子初(23:00)。
月策與置末規則:朔日為每月起點(初一日);朔日(月初一日)到下個朔日(下月初一日)有多少天、這月就有多少天。有30天為大月、有29天為小月;唐朝武德二年(公元619年)以前用的是平朔,武德二年(公元619年)以後用的是定朔。
年策與置閏規則:以冬至日必須在子月(寅正十一月),上個冬至月(寅正十一月)到下個冬至月如有12個月就不置閏,如有13個月就要置閏,以上個冬至月之後第一個無中氣的月份為閏月,在幾月後面就稱閏幾月。 例如:壬子年(2032)冬至月到癸丑年(2033)冬至月之間有12個月,就不置閏。癸丑年(2033)冬至月到甲寅年(2034)冬至月有13個月就必須置閏,在癸丑年(2033)冬至月(十一月)後的第一個無中氣之月是該月的下一個月,就定為閏月。它正好十一月後,所以就叫閏十一月。
1.干支紀年
如甲子為第一年,乙丑為第二年,丙寅為第三年……六十年為一周。一周完了,再由甲子年起,周而始,循環下去。 干支紀年萌芽於漢初,漢章帝元和二年(公元85年),朝廷下令在全國推行干支紀年。從此干支紀年和帝王年號紀年一起使用於中國傳統歷的紀年。值得注意的是干支紀年按照農歷正月初一日,農歷新年為准,而生肖是在立春日轉換。
公歷紀元號與干支紀年,例如1929年是己巳年,1930年是庚午年……到1989年又是己巳年。我們在日歷上看到的己巳年、庚午年,就是按干支紀年這種方法排列下來的。另外值得注意的是公元年號屬於公歷,按照公歷新年為准(公歷每年1月1號);干支紀年屬於農歷,按照農歷新年為准也就是農歷每年正月初一日轉換,這是絕對不可混淆的。兩套歷法是相互無關的獨立系統。還有干支紀年絕對不可與公歷日期發生混用,否則便是屬於很嚴重的謬誤。
2.干支紀月
起於先秦的十二辰紀月,因此須先確定地支:以冬至所在月份為子月,以此類推。遇到閏月則採用上個月份的地支。確定地支後,下來確定天干:若遇甲或己的年份,正月是丙寅,二月是丁卯,三月是戊辰,類推;遇上乙或庚之年,正月為戊寅;丙或辛之年正月為庚寅,丁或壬之年正為為壬寅,戊或癸之年正月為甲寅。正月之干支知道了,其餘月可按六十甲子的序推知。干支紀月以朔日(即數字紀月每月的初一日)作為起點,遇閏月則與上月用同一干支紀月,歷代官方採用這種紀月法。
3.干支紀日
甲子第一日,乙丑為第二日,丙寅為第三日……60日為一周。一周完了再由甲子日起,周而復始,循環下去例如農歷壬辰年(西元2012年)正月初一日是癸未日,初二日是甲申日……到三月初一正好是60天,因此三月初二又是癸未日,初三又為甲申日。漢歷中,干支紀日一直未中斷未亂記,是中國紀日史也是世界紀日史中最長的一種紀日歷史。 有明確記載的日期,就可達2700多年。
4.干支紀時
一天中時辰的地支也是確定的,所以二十四小時配十二地支,則為由夜間十一點至一點為子時,一點至三點為丑時,其餘照推。時的天由該日所對天干推求,其歌戾如下:
甲己還生甲,乙庚丙作初,
丙辛從戊起,丁壬庚子居,
戊癸何方發,壬子是真途。
即若該日是甲或己的,在子時上配上甲為甲子;日是乙或庚的,在子時上配上丙為丙子;丙辛日子時配上戊為戊子;丁任日為庚子;戊癸日為壬子。知道了子時的干支,便可推知其餘。
值得注意的問題是,傳統民俗學中使用的生辰八字演算法與歷法干支不同,四柱中干支年柱使用立春交節時刻,干支月柱使用:立春、驚蟄、清明、立夏、芒種、小暑、立秋、白露、寒露、立冬、大雪、小寒的交節時刻計算,注意不是節氣日0點,所以一個干支日柱可以分別劃為兩個年柱或月柱,這種演算法僅用於生辰八字的計算,不屬於歷法,這是絕對不能夠混淆的。