公曆農曆怎麼轉換?
公曆和農曆是如何換算的?
每月初一叫做朔,最後一日叫做晦。農曆十五或十六或十七叫做望,望的後一天叫做既望 所以每年春節的大年三十並不在同一天。農曆的基礎是「迴歸年」和「朔望月」。「迴歸年」是太陽接連兩次通過春分點所需的時間,即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即是陰曆二十七日。
農曆和公曆是怎麼轉換的?(怎麼算的?)
你是要口算還是要用筆算?
告訴你,這樣子算不靠譜的,根本算不出來,涉及到的轉換不是簡單的幾個公式能得出,相反,它的轉換相當複雜。
如果有興趣編寫程式的,我可以提供轉換函式庫,呼叫一個函式就可以實現農曆與公曆的互轉了。
目前我已經完美地實現了轉換,如果需要,我可以提供。
在EXCEL中怎樣把公曆轉換成農曆
Dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay, curWeekday
Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate
Private Sub Form_Load()
'獲取當前系統時間
curTime = Now()
'星期名
WeekName(0) = " * "
WeekName(1) = "星期日"
WeekName(2) = "星期一"
WeekName(3) = "星期二"
WeekName(4) = "星期三"
WeekName(5) = "星期四"
WeekName(6) = "星期五"
WeekName(7) = "星期六"
'天干名稱
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) = &q......餘下全文>>
電子表格中怎樣將農曆轉換為公曆
1、農曆轉換為公曆,首先需要一個農曆和公曆的對照表
2、假設對照表的格式為:A列為農曆,B列為公曆。
3、此時可以用VLOOKUP函式進行轉換,公式為:=VLO暢KUP(需要轉換的農曆日期,A:B,2,0)
4、特別注意:需要轉換的農曆日期必須與對照表中A列格式一致。
農曆新曆怎樣換算
國曆換算為公曆
1.換算公式的匯出
公曆每年365.242 199074075 日 (簡化為365.2422日),而回歷每年為354.367074375日(簡化為354.36707日),所以回曆一年只相當354.36707/365.2422=0.970223或0.970224個公曆年。又回曆元年元旦定在公元622年7月16日,由於當時曆法在推算上的誤差,致當時的7月16日,按現代的公曆應改為7月19日,自公元某年元旦至該年7月19日已達200日.相200/365.2422=0.5476公曆年;又因到回曆二年元旦才達到0.970224個公曆年,故自回曆紀年元旦換算為公曆的算式即為:
(回曆紀年一1)× 0.970224+622.5476年
=所求公曆年月日……………………………………………………………………………(1)
或 回曆紀年 × 0.970224+621.5774年
=所求公曆年月日……………………………………………………………………………(2)
式中621.5774來自622.5476-0.970224。
如所求某一歷史事實不在回曆元旦時,可將事實經過本年的總日數化為回曆年,加人回曆紀年總數中即可。
然而上列公曆一年的總日數,實際上是一回歸年的實測數,因現用公曆每年的日數實為365.2425日,它與一回歸年的日數只能是基本相符,到公元四千多年後會再出現一日之差。
實際上在明萬曆十年九月十八日,回曆990年9月16日,公元1582年10月4日前(包括4日)的公曆稱儒略曆,儒略曆每年365.25日,它每年與一回歸年的差值遠大於格列高利曆即現代的公曆,大約歷128年就需多閏去一日,至萬曆十年已經多閏出十日了。因此,對於儒略曆時期的回、公兩歷換算,不能仍採用(l)、(2)兩式,而需依儒略曆的年實際日數將上列二式略加修正即可,結果如下:
(回曆紀年一l)× 0.9702+622.5393
= 所求公曆年月日……………………………………………………………………………(3)
回曆紀年 × 0.9702+621.5691
= 所求公曆年月日…………………………………………………………………………(4)
式中0.9702為354.36707/365.25所得結果,而0.5393則系公曆某年元旦至其7月16日的總日數197被365.25日除之所得,622.5393-0.9702= 621.5691。
現將兩種算式自回曆第52年起,每隔百年所算得的公曆年月日列人下表:
國曆換算為公曆
自表列計算結果得知,曆法不同不能用同一算式,否則誤差大大。萬曆十年前即已發現儒略曆的春分所在日期與實測結果相差較大,至萬曆十年已差十日,因此格列高利第十三就決心修改儒略曆,改革內容有兩點,其一,將公曆1582年10月4日之後一日原應為10月5日而改為10月15日,而星期序數不變,即該年10月4日為星期四,10月15日理應為星期一,實為星期五;其二,儒略曆每四年有一個閏年,四百年有百閏,格列高利曆仍保持儒歷四年一閏的傳統,但每四百年僅安排九十七個閏年,四百年中逢百年不閏,到第四百年加一個閏年[6]。儒歷與格歷的歲實分別為:
儒歷(365 ×300+366 ×00)÷ 400年=365.25日/年
格歷(365 × 303+366×97)÷ 400年=365.2425日/年而《明史·歷志》所載的回回宮分歷(太陽曆),一百二十八年閏三十一......餘下全文>>
農曆日期和公曆日期怎麼轉換,
我做計算器的,這個就是轉化,你看哈嘛!
//將日期換算為公曆的天數
private int toJulian(){
int jy=year;
if(year<0)
jy++;
int jm=month;
if(month>2)
jm++;
else{
jy--;
jm+=13;
}
int jul=(int)(java.lang.Math.floor(365.25*jy)
+java.lang.Math.floor(30.6001*jm)+day+1720995.0);
int IGREG=15+31*(10+12*year);
if(day+31*(month+12*year)>=IGREG){
int ja=(int)(0.01*jy);
jul+=2-ja+(int)(0.25*ja);
}
return jul;
}
//從具體的天數得到日期
private void formJulian(int j){
int ja=j;
int JGREG=2299161;
if(j>=JGREG){
int jalpha=(int)(((float)(j-1867216)-0.25)/36524.25);
ja+=1+jalpha-(int)(0.25*jalpha);
}
int jb=ja+1524;;
int jc=(int)(6680.0+((float)(jb-2439870)-122.1)/365.25);
int jd=(int)(362*jc+(0.25*jc));
int je=(int)((jb-jd)/30.6001);
day=jb-jd-(int)(30.6001*je);
month=je-1;
if(month>12)
month -=12;
year=jc-4715;
if(month>2)
--year;
if(year<=0)
--year;
}
private int day;
private int month;
private int year;
公曆農曆轉換
回曆、公曆、農曆的換算
(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。(表)
按公曆自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 公曆月份及其累計日數
三 公曆換算為回曆
將回歷換算為公曆的算式移項,整理,即可得到公曆換算為國曆的算式
(公曆紀年一621.5691)÷0.9702=回曆年月日(儒略曆)……………………………………………(5)
(公曆紀年一621.5774)÷0.970224=回曆年月日(格氏歷)…………………………………………(6)
無論回曆換算為公曆或相反,大體都有一日之差,以星期序數訂正時,回曆換算為公曆,以回曆的星期序數為準;相反,以公曆的星期序數為準。
四 國曆或公曆換算為中國農曆
1.回曆換算為農曆
僅管中國農曆各年在年內月數日數都不是一個相對的穩定值,給回曆與公曆換算為農曆上帶來較多的困難,但仍然可以換算。中國農曆為陰陽合曆,在月份上與回曆同屬太陰曆,惟回曆每月以見新月為一月之始,其日約遲於農歷合朔(初一日)1—2日乃至3日,因此只要查清二者在月份上關係,便可將回歷換算為中國農曆。馬以愚先生稱:“......餘下全文>>
新曆怎麼換算成農曆
首先陰曆以月為基本單位,一個月以新月出現的那一天為始直至下一個新月出現的前一天。
由於月亮公轉的週期介於29到30天之間,陰曆的一個月也就由新月出現時刻的早晚或是29天或是30天。
大月為30天,小月為29天。
與陽曆不同的是,大小月在不同的年中不固定。
如春節的前一天常稱為大年三十,但有不少年如2000年的陰曆十二月只有29天。
由於十二個月的時間較陽曆年即地球繞太陽公轉一週的時間短11天左右.
為了使陰曆年與陽曆年保持相對穩定,每隔兩三年就需要加入一個閏月。
大約每十九年要加入七個閏月。
而二十四節氣則是由地球在繞太陽公轉的軌道上的位置確定的。
以每年的冬至為始,每15度為一個節氣。
是故二十四節氣在陽曆的每月中有大概固定的日期。
古時以二十四節氣指導農耕,這就是陰曆又稱農曆的原因。
其中陽曆下半月的十二個節氣又稱為中氣。
中氣出現的時刻和閏月的確定有直接的關係。
陰曆的計算有下列四條規則:
1.準。
但計算1929年以前的陰曆時應以北京即東經116度25分的當地時為準。
2.新月出現的一天為一個月的第一天。
如某個節氣的出現時刻也在這一天,則不論該節氣的出現時刻是否比新月晚,一律算落入新的一個月中。
3.每年的冬至總是落在這年的十一月中。
從一年的冬至的第二天起到下一年冬至這一天止的這段時間稱為一歲。
如一歲中有十三個新月出現,則這一歲為閏歲,要加入一個閏月。
4.閏歲中第一個沒有中氣的月為閏月。
因為一歲中只有十二個中氣,所以閏歲中至少有一個月沒有中氣,也存在有兩個月沒有中氣的可能性。
但這種情況下只有第一個沒有中氣的月為閏月。
閏月的前一個月為幾月則該閏月稱為閏幾月。
根據以上資訊, 我們知道農曆是根據天文觀測進行指定的(也許可以在天文學的書上找到說明)。
為了簡化轉換計算, 很多程式人員設計了基於"時間段內查表"方法的例程.
想知道農曆生日如何轉換成公曆生日?
85年農曆9月2日生日公曆是85年10月15日,星座是天秤座(9月23日—10月22日)公曆85年9月2日,農曆是85年7月18日,星座是處女座(8月23日—9月22日)
星座是按照公曆來計算的
在excel中怎樣制公曆和轉換成農曆
轉換公司太複雜了,樓主可以做一個公曆和農曆對照表,直接引用即可,我就是這樣做的。
搜尋陰陽曆對照,有一個網站上就有,從1921年到2019年,你把它複製到excel表格裡面就行