广告管理-1170PX*80PX
广告管理-770PX*90PX
当前位置:主页 > 八字命理 > 八字算命 >

夏历转阳历怎样转

  • 八字算命
  • 2021-01-03 11:39
  • 指迷居士
广告管理-720PX*80PX
夏历不断是老苍生较为熟习的历法或者也叫阴历,而阳历是当代通用的历法,那末这两者之间有甚么关系呢,夏历转阳历有怎么转换呢?这里小编就为大家引见下终究夏历怎么转阳历! 
要了解夏历转阳历怎样转,首先我们要先弄明白2个问题,那就是甚么是夏历;甚么是阳历,他们是以甚么为计算根据的! 
夏历是我国采取的一种传统历法,别名农历、中历、旧历,官方也有称阴历的。它用严格的朔望周期来定月,又用设置闰月的方法使年的均匀长度与回归年附近,兼有阴历月和阳积年的性质,因而在本质上是一种阴阳合历。 
夏历根据是月亮的活动纪律:月球运转的轨道,名曰白道,白道与黄道同为天体上之两大圆,以五度九分而斜交,月球绕地球一周,出没于黄道者两次,历二十七日七小时四十三分十一秒半,为月球公转一周所需的时间,谓之“恒星月”。唯当月球绕地球之时,地球因公转而地位亦有变化,计行进二十七度余,而月球逐日行十三度十五分,故月球自合朔,全绕地球一周,复至合朔,实需二十九日十二时四十四分二秒八,谓之“朔望月”,风俗所谓一个月,即指朔望月而言。 
阳历也就是公历,它是国际通用的。阳历以地球绕太阳转一圈的时间定做一年,共365天5小时48分46秒。闰年只计365天这个整数,不计尾数;一年分做12个月,大月31天,小月30天,仲春只要28天。四年的尾数积聚起来共1天光景,加在第四年的仲春里,这一年叫做闰年。所以闰年的仲春有29天。 
那末夏历转阳历怎样转呢?一般而言夏历转阳历都有Tools的,不必人工计算! 
电脑转换Tools办法1:夏历转阳历Tools 
人工公历转夏历办法2: 
阳历日期推算阴历日期的办法:前已述及阴历日期是以月亮的圆缺为计月单元,其以逢朔为月朔,以月望为十五(大月为十六日),以月终为二十九日(大月为三旬日)。但是现在记时大部分用阳历日期表达,如欲将阳历日期换算成阴历日期可以用以下两种办法:其一是查《新编万年历》,如查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便是阴历二十七日。 
蔡勒(Zeller)公式:是一个计算礼拜的公式。 
随意给一个日期,就可以用这个公式推算出是礼拜几。 
蔡勒公式以下: 
W=[C/4]-2C+y+[y/4]+[13*(M+1)/5]+d-1 
公式中的符号寄义以下: 
W:礼拜;w对7取模得:0-日曜日,1-礼拜一,2-礼拜二,3-礼拜三,4-木曜日,5-礼拜五,6-礼拜六 
C:世纪-1(前两位数) 
y:年(后两位数) 
m:月(m大于即是3,小于即是14,即在蔡勒公式中,某年的1、2月要看做上一年的13、14月来计算,比方2003年1月1日要看做2002年的13月1日来计算) 
d:日 
[]代表取整,即只需整数部分。 
下面以中华国民共和国建立100周年岁念日那天(2049年10月1日)来计算是礼拜几,进程以下: 
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 
=49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1 
=49+[12.25]+5-40+[28.6] 
=49+12+5-40+28 
=54(除以7余5) 
即2049年10月1日(100周年国庆)是礼拜五。 
再比方计算2006年4月4日,进程以下: 
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 
=6+[6/4]+[20/4]-2*20+[26*(4+1)/10]+4-1 
=-12(除以7余2,留意对正数的取模运算!) 
不过,以上的公式都只合适于1582年(我国明代万历十年)10月15日以后的情况。罗马教皇格里高利十三世在1582年组织了一批地理学家,依据哥白尼日心说计算出来的数据,对儒略历作了修正。将1582年10月5日到14日之间的10天公布撤消,继10月4日以后为10月15日。厥后人们将这一新的历法称为“格里高利历”,也就是今日全球所通用的历法,简称格里历或公历。 
电子万年历: 
非常多人都不断在找换阴阳的公式。我也尝试过在1988年到1992年之间。曾读过「高平子」地理长辈所著「学散论」解古的变卦和阴阳的缺点。才晓得因为月球动弹的不稳定不规矩,断定无公式可寻。这也是现代中国每百年必改的缘由。 
阴最大的问题是在怎么置闰。仿佛不难,由于阴根本规律以下 
初一日便是月朔 
月以中气得名 
以包括雨水中气月为正月,便是「寅」月 
月无中气者为闰月,之前月同名 
假如,日月动弹循另有规矩的话,推演一套阴阳转换的公式其实不难。问题在有时一个太阴月比一个太阳月还要长。如斯一个太阴月就有可能包含两其中气。此双中气月后的阴月名就全部乱掉了,直到下一个「假」闰月后才调剂过去。 
常人接触到的阴阳是民用法,它是当局颁令的以东经120度计算的法或称华夏规范时间或北京时。假如,我们用不一样时区、不一样经度为子午线来从头计算阴阳,民用法的置闰规律出了很大的问题。不一样时区的闰月可能落在不一样月。换言之,在一百年内,任何两个时区的闰月次序形式是会不类似的。 
高平子长辈书中提到了「理置闰法」。假如使用理置闰法到不一样时区,则一切不一样时区的闰月都落在类似月。如斯不一样时区、不一样经度的阴阳置闰之问题就消逝了。民用置闰和理置闰的不一样是 
在民用置闰,假如初一日和中气统一天,则该阴月包括阿谁中气。 
在理置闰,假如初一日和中气统一天,初一日时间必需在中气时间之前,则该阴月才包括阿谁中气。 
简言之,民用置闰比较初一和中气日期;理置闰比较初一和中气日期、时、分、秒。由此可知,没有准确的太阳和月亮的时间数字,阴的闰月可能会排错了。 
基于这些来由,我著手寻觅地理公式计算准确的太阳和月亮在纬度的时间。昔时没有网路,发了泰半年于美国南加州各大藏书楼及大学,找寻谜底。1993年出书了「中美地理万年」一书。书中准确的地理日月时间只从1900到2010年。因恐2011后时间误差超越一分钟,不敷准确,不敢印出。本年2002从网路资讯,断定太阳和月亮时间的准确度后,百忙中从头收集材料,供给给必须阴阳转换公式的朋友。 
收集出的太阳和月亮时间数字是从西元1年到2246年。有理和中公民用两套法。数字内容清明白楚的看出民用法的敝端。例如,从西元1600年到2246年,民用法双中气的阴月有22个,理法只要5个。民用法乃至在2033、2128和2242年中,三个月之间竟然跑出两个双中气;换言之,三个月中多出两个「假」闰月。前后12个阴月中有三个闰月,闰月的去留形成很多学者的会商和困恼。理法在此三年中,却没有发现到双中气阴月。闰月的去留只需把双中气月后的「假」闰月撤消,则理法近乎于完满。 
由此可知,民用法问题很大,应当废弃。前次阴阳严重改在1645年,已然超越350年。随著地理科学的提高,中国阴阳应当运用较准确的理法。以免儿女子孙再Waste时间会商置闰去留的问题。 
阴阳使用在八字算命、紫微斗数、农人、遁甲最多。非常多人不晓得排八字天干地支只用阳而不必阴。发了很多时间在研讨阴阳的转换。实在八字只运用太阳中骨气,和月亮没有任何干系。紫微斗数则必须阴日期去排命盘。美国时区的阴日期有一半和中国时区的阴日期差一天,由于时差超越12小时;月朔便可能在不一样日之故。有位在加拿大职业算命的朋友,通晓八字和紫微斗数,研讨其女命盘。八字论怙恃,通情达理。斗数怙恃宫,看不出本人影子。厥后,在中美地理万年一书发现了「差一天」之解答。 
曾有一名退休博士用了近三十年找寻阴阳的公式,问遍两岸各大地理台,得不到谜底,直到发现中美地理万年一书。最初,期望我从头收集的中国阴阳的地理数字和原始程式,能给有求知欲于阴阳转换办法的读友一个谜底,以避免得不到谜底而遗憾毕生。 
excel公历转夏历的四种办法 
虽然经过非常多渠道可以轻松获得公历转夏历,可是对excel迷们仍是很等待用excel来完成公历转夏历。 
想象一下,IT部落窝会员们的信息都是以阳历注册的,我们也能够运用下面行将引见的办法完成excel公历转夏历。 
excel公历转夏历办法一:运用text函数 
A列是公历日期,我们在B1单位格输入公式:=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d"),下拉完成公历转夏历。 
excel公历转夏历办法二:运用text+MID函数 
A列依然是公历,B1输入公式:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A1,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A1,"[$-130000][DBNum1]m月d日"便可。 
excel公历转夏历办法三:运用text+MID+CHOOSE+YEAR函数 
A1为公历,B1输入:=CHOOSE(MOD(YEAR(A1)-1900,10)+1,"庚","辛","壬","癸","甲","乙","丙","丁","戊","己")&CHOOSE(MOD(YEAR(A1)-1900,12)+1,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥")&TEXT(A1,"[dbnum1][$-130000]年m月"&IF(--TEXT(A1,"[$-130000]d")<11,"初","")&TEXT(A1,"[dbnum1][$-130000]d")) 
excel公历转夏历办法四:运用自定义函数 
上面引见的excel公历转夏历都是运用excel内置函数完成的,有一个弊病就是公式太长,假如运用自定义函数,在公式栏就能够简化输入。 
以下图所示,我们在B2输入公式:=nongli(A2),便可。C列夏历简称中C2公式是:=RIGHT(B2,LEN(B2)-8)。 
关于自定义函数的运用办法请参考:excel自定义函数添加和运用办法 
下面是此自定义函数相干的代码: 
PublicFunctionNongLi(OptionalXX_DATEAsDate) 
DimMonthAdd(11),NongliData(99),TianGan(9),DiZhi(11),ShuXiang(11),DayName(30),MonName(12) 
DimcurTime,curYear,curMonth,curDay 
DimGongliStr,NongliStr,NongliDayStr 
Dimi,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)= 
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)=461653 
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&"月" 
EndIf 
If(curDay<10)Then 
GongliStr=GongliStr&"0"&curDay&"日" 
Else 
GongliStr=GongliStr&curDay&"日" 
EndIf 
'计算到初始时间1921年2月8日的天数:1921-2-8(正月月朔) 
TheDate=(curYear-1921)*365+Int((curYear-1921)/4)+curDay+MonthAdd(curMonth-1)-38 
If((curYearMod4)=AndcurMonth>2)Then 
TheDate=TheDate+1 
EndIf 
'计算夏历天干、地支、月、日 
isEnd= 
m= 
Do 
If(NongliData(m)<4095)Then 
k=11 
Else 
k=12 
EndIf 
n=k 
Do 
If(n<0)Then 
ExitDo 
EndIf 
'获得NongliData(m)的第n个二进制位的值 
bit=NongliData(m) 
Fori=1TonStep1 
bit=Int(bit/2) 
Next 
bit=bitMod2 
If(TheDate<=29+bit)Then 
isEnd=1 
ExitDo 
EndIf 
TheDate=TheDate-29-bit 
n=n-1 
Loop 
If(isEnd=1)Then 
ExitDo 
EndIf 
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 
EndIf 
EndIf 
'生成夏历天干、地支、属相==>NongliStr 
NongliStr="夏历"&TianGan(((curYear-4)Mod60)Mod10)&DiZhi(((curYear-4)Mod60)Mod12)&"年" 
NongliStr=NongliStr&"("&ShuXiang(((curYear-4)Mod60)Mod12)&")" 
'生成夏历月、日==>NongliDayStr 
If(curMonth<1)Then 
NongliDayStr="闰"&MonName(-1*curMonth) 
Else 
NongliDayStr=MonName(curMonth) 
EndIf 
NongliDayStr=NongliDayStr&"月" 
NongliDayStr=NongliDayStr&DayName(curDay) 
NongLi=NongliStr&NongliDayStr 
EndFunction
广告管理-720PX*80PX

  • 关注微信

猜你喜欢

指迷居士QQ号