⑴ 農歷與陰歷怎麼轉換的
朋友,農歷(又稱舊歷、古歷等)與陽歷的轉換,因設計閏月等的處理,很麻煩,還么有找到一個通用的轉換公式,一般人可以通過查表(例如相當多的手機就有此功能)。現在給你以下參考資料:
一,農歷閏月的計算方法
農歷為什麼會有閏月?——農歷置閏月是為了協調回歸年與農歷年的矛盾。
回歸年與農歷年有什麼矛盾呢?先記住:回歸年的總長度為365.2422日,朔望月的長度為29.5306日。
十二個朔望月構成農歷年,長度為29.5306×12=354.3672日,比回歸年少10.88天即將近11天,每個月少0.91天,近1天。
依此,如農歷年某年春節為大雪紛飛的冬天,第二年的春節就會在季節上提前11天,第16個農歷年就會出現在赤日炎炎的夏天。
如按十三個朔望月構成農歷年,長度為29.5306×13=383.8978日,比回歸年又多出18天多。
如果按上述規定製定歷法,就會出現天時與歷法不合、時序錯亂顛倒的怪現象——這就是矛盾。
為了克服這一缺點,我們的祖先在天文觀測的基礎上,找出了「閏月」的辦法,保證農歷年的正月到三月為春季,四月到六月為夏季,七月到九月為秋季,十月到十二月為冬季,也同時保證了農歷歲首在冬末春初。
農歷年中月以朔望月長度29.5306日為基礎,所以大月為30日,小月為29日。為保證每月的頭一天(初一)必須是朔日,就使得大小月的安排不固定,而需要通過嚴格的觀測和計算來確定。因此,農歷中連續兩個月是大月或是小月的事是常有的,甚至還出現過如1990年三、四月是小月、九、十、十一、十二連續四個月是大月的罕見特例。
那麼多長時間加一個閏月呢?最好的辦法就是求出回歸年日數與朔望月的日數的最小公倍數:我們希望m個回歸年的天數與n個朔望月的天數相等,也就是應有等式:
m×365.2422=n×29.5306
在這個等式中我們不能直接求出m和n,但可以求出它們的比例:
這個比例的近似值分別為:
在這些分式中,分子表示回歸年的數目,分母表示朔望月的數目。例如第六個分數式 表示19個回歸年中必須加7個閏月。
19個回歸年中加7個閏月的結果比較:
19個回歸年=19×365.2422=6939.6018(天)
一個朔望月有29.5306天,235個朔望月=235×29.5306=6939.6910(天)
19個回歸年中加7個閏月後,矛盾消除得只差:6939.6910-6939.6018=0.0892(天)——即2小時9分多,這已經是夠精確的了。
所以,農歷就採用了19年加7個閏月的辦法,即「十九年七閏法」,把回歸年與農歷年很好地協調起來,使農歷的元旦(春節)總保持在冬末春初。古人把235個朔望月稱之為「閏周」。
農歷置閏的方法可以使農歷年的平均長度接近回歸年,而農歷中的月又有鮮明的月相特徵,保持了公歷和陰歷兩全其美的特點。
現在置閏的方法是兩個冬至之間,如僅有12個月則不置閏,若有13個月即置閏。置閏的月從「冬至」開始,當出現第一個沒有「中氣」的月份,這個月就是閏月,其名稱是在前個月的前面加一個「閏」字。
農歷閏哪個月?決定於一年中的二十四個節氣。
我國農歷將二十四個節氣分為十二個節氣和十二個中氣。
二十四節氣在農歷中的日期是逐月推遲的,於是有的農歷月份,中氣落在月末,下個月就沒有中氣。
一般每過兩年多就有一個沒有中氣的月,這正好和需要加閏月的年頭相符。所以農歷就規定把沒有中氣的那個月作為閏月。
例如2001年農歷四月二十九日是中氣小滿,再隔一個月的初一才是下一個中氣夏至,當中這一個月沒有中氣,就定為閏月,它跟在四月後面,所以叫閏四月。
二 ,公歷和農歷之間如何轉換?
很多人都一直在找換陰陽歷的公式。我也嘗試過。曾讀過「高平子」天文前輩所著「學歷散論」了解古歷的變更和陰陽歷的缺陷。才知道由於月球轉動的不穩定不規則,確定無公式可尋。這也是古代中國每百年必改歷的原因。
陰歷最大的問題是在如何置閏。好像不難,因為陰歷基本法則如下:
* 月朔日即是初一
* 月以中氣得名
* 以包含雨水中氣月為正月,即是「寅」月
* 月無中氣者為閏月,以前月同名
如果,日月轉動循還有規則的話, 推演一套陰陽歷轉換的公式並不難。問題在有時一個太陰月比一個太陽月還要長。如此一個太陰月就有可能包括兩個中氣。此雙中氣月後的陰歷月名就全部亂掉了,直到下一個「假」閏月後才調整過來。
一般人接觸到的陰陽歷是民用歷法,它是政府頒令的以東經120度計算的歷法或稱中原標准時間或北京時。如果,我們用不同時區、不同經度為子午線來重新計算陰陽歷,民用歷法的置閏法則出了很大的問題。不同時區的閏月可能落在不同月。換言之,在一百年內,任何兩個時區的閏月順序模式是會不相同的。
高平子前輩書中提到了「歷理置閏法」。如果應用歷理置閏法到不同時區,則所有不同時區的閏月都落在相同月。如此不同時區、不同經度的陰陽歷置閏之問題就消失了。民用置閏和歷理置閏的不同是:
* 在民用置閏,如果月朔日和中氣同一天,則該陰歷月包含那個中氣。
* 在歷理置閏,如果月朔日和中氣同一天,月朔日時間必須在中氣時間之前,則該陰歷月才包含那個中氣。
簡言之,民用置閏比較月朔和中氣日期;歷理置閏比較月朔和中氣日期、時、分、秒。由此可知,沒有精確的太陽和月亮的時間數字,陰歷的閏月可能會排錯了。
基於這些理由,我著手尋找天文公式計算精確的太陽和月亮在緯度的時間。當年沒有網路,發了大半年於美國南加州各大圖書館及大學,找尋答案。1993年出版了「中美天文萬年歷」一書。書中精確的天文日月時間只從1900到2010年。因恐2011後時間誤差超過一分鍾,不夠精確,不敢印出。今年2002從網路資訊,確定太陽和月亮時間的精確度後,百忙中重新整理資料,提供給需要陰陽歷轉換公式的朋友。
整理出的太陽和月亮時間數字是從西元1年到2246年。有歷理和中國民用兩套歷法。數字內容清清楚楚的看出民用歷法的敝端。例如,從西元1600年到2246年,民用歷法雙中氣的陰歷月有22個,歷理歷法只有5個。民用歷法甚至在2033、2128和2242年中,三個月之間居然跑出兩個雙中氣;換言之,三個月中多出兩個「假」閏月。前後12個陰歷月中有三個閏月,閏月的去留造成許多學者的討論和困惱。歷理歷法在此三年中,卻沒有發現到雙中氣陰歷月。閏月的去留只要把雙中氣月後的「假」閏月取消,則歷理歷法近乎於完美。
由此可知,民用歷法問題很大,應該廢除。上次陰陽歷重大改歷在1645年,已經超過350年。隨著天文科學的進步,中國陰陽歷應該使用較精確的歷理歷法。免得後代子孫再浪費時間討論置閏去留的問題。
陰陽歷應用在八字算命、紫微斗數、農民歷、遁甲歷最多。很多人不知道排八字只用陽歷而不用陰歷。發了許多時間在研究陰陽歷的轉換。其實八字只使用太陽中節氣,和月亮沒有任何關系。紫微斗數則需要陰歷日期去排命盤。美國時區的陰歷日期有一半和中國時區的陰歷日期差一天,因為時差超過12小時;初一就可能在不同日之故。有位在加拿大職業算命的朋友,精通八字和紫微斗數,研究其女命盤。八字論父母,合情合理。斗數父母宮,看不出自己影子。後來,在中美天文萬年歷一書發現了「差一天」之解答。
曾有一位退休博士用了近三十年找尋陰陽歷的公式,問遍兩岸各大天文台,得不到答案,直到發現中美天文萬年歷一書。最後,希望我重新整理的中國陰陽歷的天文數字和原始程式,能給有求知慾於陰陽歷轉換方法的讀友一個答案,以免得不到答案而遺憾終身。
中國陰陽歷的天文數字和原始程式用簡單英文闡述,
請從下述 Chinese Lunar Calendar 進入。
--------------------------------------------------------------------------------高平子 Kao Ping Tse」1888-1970〔是中國近代最有成就的天文學者之一。他沒有接受正規的天文教育。憑著對天文的酷愛,自己研讀天文書籍。因為他對天文的貢獻,在他的百年冥誕,月球的一個環形月坑以他的名字為名。位置在月球東經87.6度,南緯6.7度, 直徑34公里,為國爭光。
三,查表轉換
http://www.enterdesk.com/wnl.html
⑵ 請問:如何換算中國農歷
很遺憾。因為公歷(現在用的是格里歷,以前還曾用儒列歷)和中國農歷都不是嚴格按一個公式計算得到的,所以兩個歷法沒有直接的公式。
試圖用一個簡單的公式,而不利用許多像萬年歷一樣的數據(盡管可以簡化),就達到公農歷轉換的目的,這是不可能的。我們能見到的所有公農歷轉換的軟體,都存有多少不等的一些年份的歷法數據。
這些數據之中,最重要的是農歷的每月天數。因為農歷是陰陽歷,陰歷部分(按月相編的部分)決定月日,陽歷部分(按太陽高度編的部分)就是節氣。節氣基本上是與公歷直接對應的,可以較容易的推算;但月相周期與地球公轉的關系相對復雜,一般都需要天文觀測數據授時,所以農歷每月是大月還是小月沒有簡單的公式。
至於公歷和農歷的置閏,倒都有一定的方式推算,並不困難。
如果只是天文數據,其實都還是可以算的——因為天文周期十分穩定,我們只要嚴格地按天文周期推算就可以了。可是還有更為麻煩的一點,就是公歷和農歷這些歷法,並不是完全嚴格地按照天文上的實際周期進行的,還有許多人為的因素。最著名的就是羅馬皇帝幾次修改2、8等月份長短,以及儒列歷中因計算不準確而人為地去掉了十天等事。中國農歷也有因為古代天文觀測不準確造成的政府頒布的歷法與天象不吻合的(我們不能苛求古人觀測的精度)。所以這兩部歷法都是與一個時期社會有關的東西,也就沒有一定的規律可循了。
⑶ excel中如何能將日期由公歷轉換為農歷
Public Function NongLi(Optional XX_DATE As Date)
Dim MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay
Dim GongliStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate
'獲取當前系統時間
curTime = XX_DATE
'天干名稱
TianGan(0) = "甲"
TianGan(1) = "乙"
TianGan(2) = "丙"
TianGan(3) = "丁"
TianGan(4) = "戊"
TianGan(5) = "己"
TianGan(6) = "庚"
TianGan(7) = "辛"
TianGan(8) = "壬"
TianGan(9) = "癸"
'地支名稱
DiZhi(0) = "子"
DiZhi(1) = "丑"
DiZhi(2) = "寅"
DiZhi(3) = "卯"
DiZhi(4) = "辰"
DiZhi(5) = "巳"
DiZhi(6) = "午"
DiZhi(7) = "未"
DiZhi(8) = "申"
DiZhi(9) = "酉"
DiZhi(10) = "戌"
DiZhi(11) = "亥"
'屬相名稱
ShuXiang(0) = "鼠"
ShuXiang(1) = "牛"
ShuXiang(2) = "虎"
ShuXiang(3) = "兔"
ShuXiang(4) = "龍"
ShuXiang(5) = "蛇"
ShuXiang(6) = "馬"
ShuXiang(7) = "羊"
ShuXiang(8) = "猴"
ShuXiang(9) = "雞"
ShuXiang(10) = "狗"
ShuXiang(11) = "豬"
'農歷日期名
DayName(0) = "*"
DayName(1) = "初一"
DayName(2) = "初二"
DayName(3) = "初三"
DayName(4) = "初四"
DayName(5) = "初五"
DayName(6) = "初六"
DayName(7) = "初七"
DayName(8) = "初八"
DayName(9) = "初九"
DayName(10) = "初十"
DayName(11) = "十一"
DayName(12) = "十二"
DayName(13) = "十三"
DayName(14) = "十四"
DayName(15) = "十五"
DayName(16) = "十六"
DayName(17) = "十七"
DayName(18) = "十八"
DayName(19) = "十九"
DayName(20) = "二十"
DayName(21) = "廿一"
DayName(22) = "廿二"
DayName(23) = "廿三"
DayName(24) = "廿四"
DayName(25) = "廿五"
DayName(26) = "廿六"
DayName(27) = "廿七"
DayName(28) = "廿八"
DayName(29) = "廿九"
DayName(30) = "三十"
'農歷月份名
MonName(0) = "*"
MonName(1) = "正"
MonName(2) = "二"
MonName(3) = "三"
MonName(4) = "四"
MonName(5) = "五"
MonName(6) = "六"
MonName(7) = "七"
MonName(8) = "八"
MonName(9) = "九"
MonName(10) = "十"
MonName(11) = "十一"
MonName(12) = "臘"
'公歷每月前面的天數
MonthAdd(0) = 0
MonthAdd(1) = 31
MonthAdd(2) = 59
MonthAdd(3) = 90
MonthAdd(4) = 120
MonthAdd(5) = 151
MonthAdd(6) = 181
MonthAdd(7) = 212
MonthAdd(8) = 243
MonthAdd(9) = 273
MonthAdd(10) = 304
MonthAdd(11) = 334
'農歷數據
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData(6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
NongliData(13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
NongliData(18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
NongliData(22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26) = 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
NongliData(32) = 1242
NongliData(33) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 46
NongliData(48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData(60) = 1179
NongliData(61) = 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64) = 1701
NongliData(65) = 1748
NongliData(66) = 398772
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
NongliData(71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData(78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
'生成當前公歷年、月、日 ==> GongliStr
curYear = Year(curTime)
curMonth = Month(curTime)
curDay = Day(curTime)
GongliStr = curYear & "年"
If (curMonth < 10) Then
GongliStr = GongliStr & "0" & curMonth & "月"
Else
GongliStr = GongliStr & curMonth & "月"
End If
If (curDay < 10) Then
GongliStr = GongliStr & "0" & curDay & "日"
Else
GongliStr = GongliStr & curDay & "日"
End If
'計算到初始時間1921年2月8日的天數:1921-2-8(正月初一)
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38
If ((curYear Mod 4) = 0 And curMonth > 2) Then
TheDate = TheDate + 1
End If
'計算農歷天干、地支、月、日
isEnd = 0
m = 0
Do
If (NongliData(m) < 4095) Then
k = 11
Else
k = 12
End If
n = k
Do
If (n < 0) Then
Exit Do
End If
'獲取NongliData(m)的第n個二進制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
Next
bit = bit Mod 2
If (TheDate <= 29 + bit) Then
isEnd = 1
Exit Do
End If
TheDate = TheDate - 29 - bit
n = n - 1
Loop
If (isEnd = 1) Then
Exit Do
End If
m = m + 1
Loop
curYear = 1921 + m
curMonth = k - n + 1
curDay = TheDate
If (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then
curMonth = 1 - curMonth
ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth - 1
End If
End If
'生成農歷天干、地支、屬相 ==> NongliStr
NongliStr = "農歷" & TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"
NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ")"
'生成農歷月、日 ==> NongliDayStr
If (curMonth < 1) Then
NongliDayStr = "閏" & MonName(-1 * curMonth)
Else
NongliDayStr = MonName(curMonth)
End If
NongliDayStr = NongliDayStr & "月"
NongliDayStr = NongliDayStr & DayName(curDay)
NongLi = NongliStr & NongliDayStr
End Function
將上面這段代碼保存在模塊中,就可以用公式
=nongli(A1)
調用了。
⑷ Excel 中陽歷日期如何轉換成陰歷日期
1、電腦打開Excel表格,列好日期。
⑸ 在EXCEL中怎樣把公歷轉換成農歷
在EXCEL中把公歷轉換成農歷的方法及具體操作步驟如下,以WPS中EXCEL為例做演示。
1、在電腦中打開需要操專作屬的EXCEL表格,如需要將A1的日期轉成農歷,如下圖所示。
⑹ 怎樣國歷轉換農歷 方法
每月初一叫做朔,最後一日叫做晦。農歷十五或十六或十七叫做望,望的後一天叫做既望 所以每年春節的大年三十並不在同一天。農歷的基礎是「回歸年」和「朔望月」。「回歸年」是太陽接連兩次通過春分點所需的時間,即365.2422日(365日5小時48分46秒)。「朔望月」是月球接連兩次朔(新月)或兩次望(滿月)相隔的時間,即29.5306日(29日12小時44分3秒)。
由於12個「朔望月」只有354.3672日,跟「回歸年」的365.2422日相差超過10日,把相差累積起來便成為閏月。早在公元前五、六百年的春秋時代,中國歷法便採用十九年七個閏月的安排
但中國的農歷和西藏的農歷以及韓國的農歷計算方法不一樣,一般要相差一二天。
陰歷日期是以月亮的圓缺為計月單位,其以逢朔為初一,以月望為十五(大月為十六日),以月晦為二十 九日(大月為三十日)。然而目前記時通常用陽歷日期表達,如欲將陽歷日期換算成陰歷日期可以用以下兩種方法:其一是查《新編萬年歷》,如查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+30+7)-29.5n
=204.2- 29.5n
然後用29.5去除204.2得商數6......27.2,6即是n值,余數27即是陰歷二十七日。
⑺ 公歷農歷轉換
回歷、公歷、農歷的換算
(128 × 365+31)日÷ 128年= 365.2421875日/年
可見共置閏精度遠高於現代的公歷。
2.換算中一日誤差之訂正
《歷法叢談》以回歷1387年為例,求算合公歷之年月日。
解1:1387 × 0.970224+621.5774=1967.278088年
0.278088年 × 365.2422日=101.569日公歷累計日數為101.57日可視為4月11日或4月12日。究竟是哪一日,當依兩歷在公歷4月11日或12日間所具有同一的星期序數以訂正。
依回歷歲首星期序數計算公式:
[(138-1)×131+164] ÷30=6057,餘20
6057÷7=865,余 2
故回歷1387年元旦為星期2。(表)
<img src=/wenxian/lunwen/images/00-2-p129.gif>
按公歷自1583年元旦(星期六)至1967年4月11日,共歷:
1967-1583=384年,在這384年中依格列高利歷四年一閏,百年不閏,四百年加一閏日的規則共歷93個閏日,又1967年元旦後一日起至4月11日又需加 100日,則
(384 × 365+93+100+6)÷ 7=140359+7=2001,余 2餘2即星期2,故回歷1387年元旦在公歷1967年4月11日。
因公歷計算星期日數採用數據較多,計算時難免有所遺漏,現引人公歷日期與星期推算表阿),供參考。
應用此表查找公元1967年4月11日星期序數步驟如下:
先在本表年份表前二位數字欄目中,查到19二字所在的位置;
再在年份表後二位數字欄目中查到67二字所在位置,自19二字處平行右移,67二字處垂直下移,二者在英文大寫字母欄目中相交於字母G處;
再自月份表欄目中查到4月,自4月所在位置平行左移,查到G在4月欄目所在位置;
自日期欄目查到11日所在位置,自此位置平行右移,使與4月份欄目G在星期表相交處知為星期二,結果與回歷計算所得相同。故知回歷 1387年元旦確為公歷1967年4月11日,而不是12日。
在換算中所得公歷日數常多於31日,甚至常在200—300日或更多,需要將此數化為該年的月日時,可用下列兩表。
表3 公歷月份及其累計日數
<img src=/wenxian/lunwen/images/00-2-p130.gif>
三 公歷換算為回歷
將回歷換算為公歷的算式移項,整理,即可得到公歷換算為國歷的算式
(公歷紀年一621.5691)÷0.9702=回歷年月日(儒略歷)……………………………………………(5)
(公歷紀年一621.5774)÷0.970224=回歷年月日(格氏歷)…………………………………………(6)
無論回歷換算為公歷或相反,大體都有一日之差,以星期序數訂正時,回歷換算為公歷,以回歷的星期序數為准;相反,以公歷的星期序數為准。
四 國歷或公歷換算為中國農歷
1.回歷換算為農歷
僅管中國農歷各年在年內月數日數都不是一個相對的穩定值,給回歷與公歷換算為農歷上帶來較多的困難,但仍然可以換算。中國農歷為陰陽合歷,在月份上與回歷同屬太陰歷,惟回歷每月以見新月為一月之始,其日約遲於農歷合朔(初一日)1—2日乃至3日,因此只要查清二者在月份上關系,便可將回歷換算為中國農歷。馬以愚先生稱:「回教紀年及齋戒之月,均依太陰歷。中國昔用夏正(即農歷),有閏之年,年為十三月。故齋戒之月,遇閏則連退。如今歲齋戒值夏正之九月,歲逢閏,改歲當以八月為齋。」[8]故若求得積年及所歷大陰歷的月數,即可依農歷十九年而有七個閏月的規律,將農歷換算為回歷,其日當有l——2日之差。
計算舉例:已知西域魯穆馬依澤公於宋太祖建隆二年(961)應召人華編修《應天歷》,並將伊斯蘭天文傳人中國,他的事跡已收人《中國伊斯蘭網路全書》[9]與《中國回族大詞典》[10]等,被列為伊斯蘭與中國回族之大事。據《懷寧馬氏宗譜》記載,依澤公應召人華時年已四十,生於回歷勒比阿立勿里月(拉比爾·奧沃勒月,即回歷三月)第二十日,故於宋真宗景德二年(1005)五月初十日。宋太祖乾德四年(966)八月十三日奉旨授世襲候爵兼司天監。求依澤公生於公歷與農歷的年月日。
⑻ 公歷和農歷是如何換算的
公歷和農歷之間是不能換算的,二者採用的計算方法不同,沒有特殊關系可以查詢,只能分別計算。
公歷是陽歷的一種,陽歷就是以地球繞太陽公轉的運動周期為基礎而制定的歷法。
公歷別稱公元、西歷、西元等,是一種源自於西方社會的紀年方法,由義大利醫生兼哲學家Aloysius Lilius對儒略歷加以改革而製成的一種歷法。1582年,時任羅馬教皇的格列高利十三世予以批准頒行,以耶穌誕生之年作為紀年的開始。
公歷是一種平均太陽歷,只有回歸年,不管朔望月。地球繞太陽一周的時間為365.2422天,因此,平均每4年便會少大約1天的時間。
因此,公歷規定每4年裡有1個閏年,將這一天加在天數最少的2月,故閏年的2月有29天。實際操作中為了方便,規定凡是能被4除盡的年份(末尾有兩個0的要被400除盡),皆為閏年。如1996,2000等皆為閏年。
農歷也是「陰陽歷」,又稱為夏歷、陰歷、舊歷,是東亞傳統歷法之一。農歷屬於一種陰陽歷,平均歷月等於一個朔望月,但設置閏月以使平均歷年為一個回歸年,設置二十四節氣以反映季節(太陽直射點的周年運動)的變化特徵,所以又有陽歷的成分。
平年十二個月,大月三十天,小月二十九天,全年354天或355天。由於每年的天數比太陽年約差十一天,所以採用設置閏月的方法使這幾年的平均日數盡。
和陰歷一樣,在19年裡中設置了7個閏月。不過和陰歷不同的是,又根據太陽的位置,把一個太陽年分成二十四個節氣,以利於農業種植等活動。紀年用天乾地支搭配,六十年周而復始。這種歷法相傳創始於夏代,所以又稱為夏歷。也叫舊歷。
這就導致了農歷和陰歷的起始月份不一樣,陰歷是以正月初一為一年的起點,而農歷是按24節氣來劃分的,也就是說立春是農歷的起點。
陽歷
陽歷就是太陽歷,是以地球繞太陽公轉的運動周期為基礎而制定的歷法。一年12個月,這個「月」實際上與朔望月無關,月份、日期都與太陽在黃道上的位置較好地符合,在一年中可以明顯看出四季寒暖變化的情況。
陰歷
陰歷,又稱太陰歷,是以月球繞行地球一周為一個月,即以朔望月作為確定歷月的基礎的一種歷法。
因朔望月較之回歸年易於觀測,遠古的歷法幾乎都是陰歷。但是朔望月的長度(29.5306日)為一個月的平均值,全年12個月,同回歸年(365.2422日)相差約10日21時,所以,需要設置閏月,三年閏一個月,五年閏二個月,十九年閏七個月。