萬年曆陰曆陽曆轉換?
只知陽曆月份,不查萬年曆怎麼換算陰曆月份? 20分
這是祖先計時開始時往後累計的,陰曆陽曆都是一天一天加的,無法換算
萬年曆的陽曆與陰曆
中國歷史上使用過的歷法,有陽曆、陰曆和陰陽合曆,“盲年”是陰陽合曆某種“置正”安排的結果。陽曆,可能是我們的祖先最早使用的歷法,它根據太陽執行規律制定。古人以為太陽繞地球執行,轉動一週為一年——今日我們知道是地球繞太陽公轉的週期,但古人的認識卻相反。據學者考證,戰國時還有太陽曆,一年十個月,以天干為名,每月三十六日,分三旬,旬以地支為名,如此十個月三百六十日,加上五至六天不入干支的“廢日”,一年就是三百六十五日或三百六十六日。在那種情況下,節氣的安排首先有“夏至”、“冬至”,繼而又有“春分”、“秋分”,季節上的迴歸年先分春秋二季,後來再分出春夏秋冬四季,以至二十四節氣。古代文獻《管子》中有這種曆法的痕跡,彝族和西南少數民族的火把節與之有關。嶺南民間至今還流傳“冬至大過年”的說法,就是民間對這種曆法的記憶殘留。古人確實曾經以“一陽更始”的冬至作為元旦。此外,春秋戰國時期有采用十二辰(地支)紀月,而十二辰加時制度至遲西漢時已被採用。西漢末至今,一直用干支來紀年。這就是干支歷。它以立春為歲首,交節日為月首。年長即迴歸年,一個月含兩個節氣。在干支歷中,年月日全由太陽視運動決定而與太陰月相無關,所以這是一種陽曆。 陰曆是按月亮的盈虧變化來制定的。一個朔望月的週期是二十九或三十天,年的長短只是月的整倍數,與迴歸年無關。月也與四季寒暑無關。希臘歷和回曆都屬於這種曆法。它的一年中,也不可能出現“雙春”、“盲年”。陰陽合曆,是結合太陽和月亮執行的週期制定的。一年按太陽的執行分為二十四節氣,又按照月亮的執行分為月。小月、大月十二個加起來,只有三百五十四天或三百五十五天。兩者相比,相差約十一天。為了協調二者,古人採取“設閏”的辦法來處置,若干年中就有一年是十三個月的。從商代的甲骨中還可以看到“十三月”的記載,就是設閏的明證。上世紀有學者報告,南方的瑤族還儲存著“十三月”的叫法。現行“十九年七閏”的制度起源相當早。我國的歷史,自《春秋》以下,就有干支歷日可查,足以為證。但置閏月,未必就造成一年兩個“立春”,或沒有“立春”。這裡又涉及“置正”的問題,即以那一個月為正月。從歷史記載來看,這種“置正”比較複雜:夏朝以寅月為正月,稱為建寅;商朝以今十二月為正月,建醜;周朝以十一月為正月,建子;秦朝以十月為正月,建亥。漢朝建立,初承秦制,以為得水德,亦建亥;後來到武帝時,經落下閎推算,又改成夏曆,以寅月為正月。不同“置正”,就有不同的新年起點。例如建寅的,就以寅月的起點為元旦。這種辦法,自漢武以來,二千年中,雖經不斷完善,但大體沿用不變。其實兩個“立春”的現象(又叫“兩頭春”),不過是農曆有閏月了,在一年的時間跨度上超過了二十四節氣的週期長度的問題。而公曆絕對沒有這一現象,因為公曆一年有365或366天,與二十四節氣的週期長度相約。而農曆有閏月時(即有13個月)一年長達383~384天!
萬年曆公曆陰曆計算
你這是要寫程式還是僅僅為了轉換一個日期?
寫程式的話,簡單地,用一個對照表,就可以實現公曆轉農曆,農曆轉公曆的計算了。
比如,用以下的演算法壓縮出來的資料,通過逆向計算,可以還原出這些資料,再通過這些資料來計算公曆和農曆,非常方便。
//農曆月份資訊。一年用3個位元組表示
//+-------------------------------------------------------------------------+
//| 第23位 | 第22-17位 | 第16-13位 | 第12-0位 |
//|--------+------------------------+------------+--------------------------|
//| 保留 | 農曆正月初一的年內序數 | 閏月 | 一個位元對應一個月份大小 |
//+-------------------------------------------------------------------------+
//月份大小資料是月份小的在低位,月份大的在高位,即正月在最低位。
//以1900年為例,3個位元組的資料展開成二進位制位:
// 0 011110 1000 1 0 1 1 0 1 1 0 1 0 0 1 0
//保留 1月31日(春節) 閏八月 從左往右依次十二月,十一月……閏八月、八月、七月……正月的天數
//農曆月份對應的位為0,表示這個月為29天(小月),為1表示有30天(大月)。
以上演算法附帶C/C++原始碼都在連結:pan.baidu.com/s/1qY9ysBM 密碼:zu7m
這演算法效果還是非常不錯的,如果覺得還是不夠的,我這裡還有Excel外掛,以及一個C++版本的庫,查詢更方便。
萬年曆19570615轉換農曆
這個簡單,我翻了一下人生日曆,是農曆的1957年五月十八號,星期六,請採納。
萬年曆的c語言程式程式碼包括節假日農曆,農曆轉公曆,公曆農曆查詢某
/* 多格式萬年曆 1.問題 設計程式實現多規格列印萬年曆,要求每一橫排列印x個月 整數x可取1,2,3,4,6五個選項 2.設計思路 設定兩個陣列:一維m陣列存放月份的天數,如m(8)=31,即8月份為31天 二維d陣列存放日號,如d(3,24)=11,即3月份第2個星期的星期4為11號 其中24分解為十位數字2與個位數字4,巧妙地利用二維陣列存放了三維資訊 輸入年號y,m陣列資料通過賦值完成。根據曆法規定,平年二月份為28天; 若年號能被4整除且不被100整除,或能被400整除,該年為閏年,二月份為29天 則必須把m(2)改為29. 同時,根據曆法,設y年元旦是星期w(取值0-6,0為星期日),整數w的計算公式為 w={y+[(y-1)/4]-[(y-1)/100]+[(y-1)/400]}%7 []為取整。 元旦以後 ,每增加一天,w增1,當w=7時改為w=0即可。 設定三重迴圈i、j、k為d陣列的d(i,j*10+k)賦值。i:1-12,表示月份號;j:1-60 表示每個月約定最多6個星期;k;0-6,表示星期k。從元旦的a=1開始,每賦一個元素, a增1,同時w=k+1。當w=7時,w=0(為星期日)。當a>m(i)時,終止第i月的賦值操作。 輸入格式引數x(1,2,3,4,6),設定4重迴圈控制規格列印: n迴圈,n:1-12/x,控制列印12/x段(每一段x個月)。、 j迴圈,j:1-6,控制列印每月的6個星期(6行)。 i迴圈,i:t--t+x-1,控制列印每行x個月(從第t個月至t+x-1月,t=x(n-1)+1). k迴圈,k:0-6,控制列印每個星期的7天。 */ #include
陰曆怎麼換算陽曆?
每月初一叫做朔,最後一日叫做晦。農曆十五或十六或十七叫做望,望的後一天叫做既望 所以每年春節的大年三十並不在同一天。農曆的基礎是「迴歸年」和「朔望月」。「迴歸年」是太陽接連兩次通過春分點所需的時間,即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即是陰曆二十七日。 hcsz.myzhongsou.cn/hy/lhy/time_detail.asp
農曆轉換成公曆的計算公式?
因為公曆(現在用的是格里曆,以前還曾用儒列歷)和中國農曆都不是嚴格按一個公式計算得到的,所以兩個曆法沒有直接的公式。
試圖用一個簡單的公式,而不利用許多像萬年曆一樣的資料(儘管可以簡化),就達到公農曆轉換的目的,這是不可能的。我們能見到的所有公農曆轉換的軟體,都存有多少不等的一些年份的歷法資料。
這些資料之中,最重要的是農曆的每月天數。因為農曆是陰陽曆,陰曆部分(按月相編的部分)決定月日,陽曆部分(按太陽高度編的部分)就是節氣。節氣基本上是與公曆直接對應的,可以較容易的推算;但月相週期與地球公轉的關係相對複雜,一般都需要天文觀測資料授時,所以農曆每月是大月還是小月沒有簡單的公式。
至於公曆和農曆的置閏,倒都有一定的方式推算,並不困難。
如果只是天文資料,其實都還是可以算的——因為天文週期十分穩定,我們只要嚴格地按天文週期推算就可以了。可是還有更為麻煩的一點,就是公曆和農曆這些曆法,並不是完全嚴格地按照天文上的實際週期進行的,還有許多人為的因素。最著名的就是羅馬皇帝幾次修改2、8等月份長短,以及儒列歷中因計算不準確而人為地去掉了十天等事。中國農曆也有因為古代天文觀測不準確造成的政府頒佈的歷法與天象不吻合的(我們不能苛求古人觀測的精度)。所以這兩部曆法都是與一個時期社會有關的東西,也就沒有一定的規律可循了。
農曆日期和公曆日期怎麼轉換,
我做計算器的,這個就是轉化,你看哈嘛!
//將日期換算為公曆的天數
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;
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"))),那就更像農曆表示法了,不過因為農曆每年開始日期都不一樣,所以函式很難達到十分精確的結果,只能是將就著用。
公曆和農曆是如何換算的?
每月初一叫做朔,最後一日叫做晦。農曆十五或十六或十七叫做望,望的後一天叫做既望 所以每年春節的大年三十並不在同一天。農曆的基礎是「迴歸年」和「朔望月」。「迴歸年」是太陽接連兩次通過春分點所需的時間,即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即是陰曆二十七日。