農曆轉換公曆?
農曆和公曆是怎麼轉換的?(怎麼算的?)
你是要口算還是要用筆算?
告訴你,這樣子算不靠譜的,根本算不出來,涉及到的轉換不是簡單的幾個公式能得出,相反,它的轉換相當複雜。
如果有興趣編寫程式的,我可以提供轉換函式庫,呼叫一個函式就可以實現農曆與公曆的互轉了。
目前我已經完美地實現了轉換,如果需要,我可以提供。
農曆轉換公曆對照表
是公曆1945年4月29日 星期日
電子表格中怎樣將農曆轉換為公曆
1、農曆轉換為公曆,首先需要一個農曆和公曆的對照表
2、假設對照表的格式為:A列為農曆,B列為公曆。
3、此時可以用VLOOKUP函式進行轉換,公式為:=VLO暢KUP(需要轉換的農曆日期,A:B,2,0)
4、特別注意:需要轉換的農曆日期必須與對照表中A列格式一致。
農曆轉換成公曆的計算公式?
因為公曆(現在用的是格里曆,以前還曾用儒列歷)和中國農曆都不是嚴格按一個公式計算得到的,所以兩個曆法沒有直接的公式。
試圖用一個簡單的公式,而不利用許多像萬年曆一樣的資料(儘管可以簡化),就達到公農曆轉換的目的,這是不可能的。我們能見到的所有公農曆轉換的軟體,都存有多少不等的一些年份的歷法資料。
這些資料之中,最重要的是農曆的每月天數。因為農曆是陰陽曆,陰曆部分(按月相編的部分)決定月日,陽曆部分(按太陽高度編的部分)就是節氣。節氣基本上是與公曆直接對應的,可以較容易的推算;但月相週期與地球公轉的關係相對複雜,一般都需要天文觀測資料授時,所以農曆每月是大月還是小月沒有簡單的公式。
至於公曆和農曆的置閏,倒都有一定的方式推算,並不困難。
如果只是天文資料,其實都還是可以算的——因為天文週期十分穩定,我們只要嚴格地按天文週期推算就可以了。可是還有更為麻煩的一點,就是公曆和農曆這些曆法,並不是完全嚴格地按照天文上的實際週期進行的,還有許多人為的因素。最著名的就是羅馬皇帝幾次修改2、8等月份長短,以及儒列歷中因計算不準確而人為地去掉了十天等事。中國農曆也有因為古代天文觀測不準確造成的政府頒佈的歷法與天象不吻合的(我們不能苛求古人觀測的精度)。所以這兩部曆法都是與一個時期社會有關的東西,也就沒有一定的規律可循了。
excel如何農曆轉換陽曆公式
比如今天是2010年9月2日,用以下公式就可以得出農曆七月二十四:
雖然在遇到閏月時,顯示結果有點差強人意,如下圖中,2010年2月9日的農曆應是十二月二十六,但因為那年有個閏五月,就無辜多出來一個月了。不過總比編程式碼要快捷多了吧,而且閏月也不是天天有。
假如把公式改成:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子醜寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A2,"[$-130000][DBNum1]m月")&TEXT(A2,IF(--TEXT(A2,"[$-130000]d")=10,"初十",IF(--TEXT(A2,"[$-130000]d")>10,"[$-130000][DBNum1]d","初[$-130000][DBNum1]d"))),那就更像農曆表示法了,不過因為農曆每年開始日期都不一樣,所以函式很難達到十分精確的結果,只能是將就著用。
在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......餘下全文>>
如何將農曆轉換為公曆
是公曆11月13日。這日曆上有,要問怎麼換的,當然公曆是固定的,1、3、5、7、8、10、12月都是31天,2月28天(每4年潤一次月,像2008年夠4整除,潤2月29天),其餘的都是30天。
對於農曆,它實質是陰曆,沿用的是太陰曆,這是一門很複雜的天文學知識。它包括24節氣。
記住陽曆是:1、3、5、7、8、10、臘,31天都不差,其餘都是30天,除了2月28.
若是閏月2月29天,只多一天。
Excel 中陽曆日期如何轉換成陰曆日期?
2007版的excel可用下面公式轉換:
=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d")
公曆農曆轉換
回曆、公曆、農曆的換算
(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日,因此只要查清二者在月份上關係,便可將回歷換算為中國農曆。馬以愚先生稱:“......餘下全文>>
如何將表格中的農曆日期,轉換成公曆
2007版的excel可用下面公式轉換:=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d")