提起阴历和阳历生日转换器,大家都知道,有人问必须历转换成阳历,找这么一量转换的工具,另外,还有人想问阴历与阳历的生日转换,你知道这是怎么回事?其实农历新历转换器,下面就一起来看看阳历生日转换阴历生日,希望能够帮助到大家!
阴历和阳历生日转换器
阳历生日是年7月9日星期日,转成阴历是年六月十二,生肖属猪,距离今日已经过去天。
阴历甲午()年六月十二,距离今日还有天。(阳历是年7月8日星期二)查生日阴历阳历对照表。
阳历生日转换阴历生日?如何查询自己的阴历生日。
生日 如何农历转换公历?
出生是年6月23日出生日期查询农历生日。
如果这时间您给的是阳历,那么阴历你就是5月23日是生日。以后无论那一年的阴历5月23日都是你的生日。
有了阴历生日,变换的就是阳历得日子。每一年的日历牌您都可以查出对应的历日子。
以92年6月23日为阴历日子计算,年您的阳历生日是7月25日。以此类推。祝开心,生日快乐!
阴历和阳历生日转换器:必须历转换成阳历,找这么一量转换的工具
单独查询的话,万年历就行。万年历农历公历转换。
找个阳历日期转换为阴历日期程序,加一个循环,我一段程序就行了
找不到高手?让文员查他几个小时就行了
如何在EXCEL中实现生日阳历到阴历的批量转换。
OptionExplicit
DimWeekName(7),MonthAdd(11),NongliData(99),TianGan(9),DiZhi(11),ShuXiang(11),DayName(30),MonName(12)
DimcurTime,curYear,curMonth,curDay,curWeekday阴历和公历的转换器。
DimGongliStr,WeekdayStr,NongliStr,NongliDayStr万年历大全。
Dimi,m,n,k,isEnd,bit,TheDate
Dimyear,month,day,grid,grid_date
Subdatetest()’这是转换样例农历生日计算器。
DebugPrintcalendar(“-8-15”)
EndSub生日查询系统。
Functioncalendar(grid)’转换函数1800~2100年公历农历对照表。
grid_date=grid星座查询农历转换阳历。
year=Mid(grid_date,1,4)阴历四月三十是阳历几月几号。
month=Mid(grid_date,6,1)阳历6月26生日农历是几号。
day=Mid(grid_date,8,2)今天是农历几月几日几号。
‘星期名
WeekName(0)=””
WeekName(1)=”星期日”公历如何换算成农历。
WeekName(2)=”星期一”
WeekName(3)=”星期二”农历3月20生日阳历是多少。
WeekName(4)=”星期三”
WeekName(5)=”星期四”时辰阳历公历不分吗。
WeekName(6)=”星期五”
WeekName(7)=”星期六”
‘天干名称
TianGan(0)=”甲”有没有1900以前的万年历。
TianGan(1)=”乙”
TianGan(2)=”丙”
TianGan(3)=”丁”
TianGan(4)=”戊”
TianGan(5)=”己”生日日期计算器。
TianGan(6)=”庚”阴历阳历公式。
TianGan(7)=”辛”
TianGan(8)=”壬”
TianGan(9)=”癸”农历和新历生日怎么算。
‘地支名称阳历1971年10月28日。
DiZhi(0)=”子”
DiZhi(1)=”丑”农历1999年7月14日生日新历是。
DiZhi(2)=”寅”
DiZhi(3)=”卯”上的生日在日历上怎么看。
DiZhi(4)=”辰”
DiZhi(5)=”巳”
DiZhi(6)=”午”1月18号阳历生日。
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)=”初8221;
DayName(10)=”初8221;
DayName(11)=”十一”
DayName(12)=”十二”
DayName(13)=”十三”
DayName(14)=”十四”
DayName(15)=”十五”
DayName(16)=”十六”
DayName(17)=”十七”
DayName(18)=”十八”
DayName(19)=”十8221;
DayName(20)=”二8221;
DayName(21)=”二十一”
DayName(22)=”二十二”
DayName(23)=”二十三”
DayName(24)=”二十四”
DayName(25)=”二十五”
DayName(26)=”二十六”
DayName(27)=”二十七”
DayName(28)=”二十八”
DayName(29)=”二十8221;
DayName(30)=”三8221;
‘农历月份名
MonName(0)=””
MonName(1)=”正”
MonName(2)=”二”
MonName(3)=”三”
MonName(4)=”四”
MonName(5)=”五”
MonName(6)=”六”
MonName(7)=”七”
MonName(8)=”八”
MonName(9)=”8221;
MonName(10)=”8221;
MonName(11)=”十一”
MonName(12)=”腊”
‘公历每月前面的天数
MonthAdd(0)=0
MonthAdd(1)=31
MonthAdd(2)=59
MonthAdd(3)=90
MonthAdd(4)=
MonthAdd(5)=
农历新历转换器MonthAdd(6)=
MonthAdd(7)=
MonthAdd(8)=
MonthAdd(9)=
MonthAdd(10)=
MonthAdd(11)=
‘农历数据
NongliData(0)=
NongliData(1)=
NongliData(2)=
NongliData(3)=
NongliData(4)=
NongliData(5)=
NongliData(6)=
NongliData(7)=
NongliData(8)=
NongliData(9)=
NongliData(10)=
NongliData(11)=
NongliData(12)=
NongliData(13)=
NongliData(14)=
NongliData(15)=
NongliData(16)=
NongliData(17)=
NongliData(18)=
NongliData(19)=
NongliData(20)=
NongliData(21)=
NongliData(22)=
NongliData(23)=
NongliData(24)=
NongliData(25)=
NongliData(26)=
NongliData(27)=
NongliData(28)=
NongliData(29)=
NongliData(30)=
NongliData(31)=
NongliData(32)=
NongliData(33)=
NongliData(34)=
NongliData(35)=
NongliData(36)=
NongliData(37)=
NongliData(38)=
NongliData(39)=
NongliData(40)=
NongliData(41)=
NongliData(42)=
NongliData(43)=
NongliData(44)=
NongliData(45)=
NongliData(46)=
NongliData(47)=46
NongliData(48)=
NongliData(49)=
NongliData(50)=
NongliData(51)=
NongliData(52)=
NongliData(53)=
NongliData(54)=
NongliData(55)=
NongliData(56)=
NongliData(57)=
NongliData(58)=
NongliData(59)=
NongliData(60)=
NongliData(61)=
NongliData(62)=
NongliData(63)=
NongliData(64)=
NongliData(65)=
NongliData(66)=
NongliData(67)=
NongliData(68)=
NongliData(69)=
NongliData(70)=
NongliData(71)=
NongliData(72)=
NongliData(73)=
NongliData(74)=
NongliData(75)=
NongliData(76)=
NongliData(77)=
NongliData(78)=
NongliData(79)=
NongliData(80)=
NongliData(81)=
NongliData(82)=
NongliData(83)=
NongliData(84)=
NongliData(85)=
NongliData(86)=
NongliData(87)=
NongliData(88)=
NongliData(89)=
NongliData(90)=
NongliData(91)=
NongliData(92)=
NongliData(93)=
NongliData(94)=
NongliData(95)=
NongliData(96)=
NongliData(97)=
NongliData(98)=
NongliData(99)=
‘生成当前公历年、月、日==>GongliStr
curYear=year
curMonth=month
curDay=day
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
‘生成当前公历星期==>WeekdayStr
curWeekday=Weekday(curTime)
WeekdayStr=WeekName(curWeekday)
‘计算到初始时间年2月8日的天数:-2-8(正月初一)
TheDate=(curYear-)+Int((curYear-)/4)+curDay+MonthAdd(curMonth-1)-38
If((curYearMod4)=0AndcurMonth>2)Then
TheDate=TheDate+1
EndIf
‘计算农历天干、地支、月、日
isEnd=0
m=0If(NongliData(m)<)Then
k=11
Else
k=12
EndIf
n=kIf(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=+m
curMonth=k-n+1
curDay=TheDate
If(k=12)Then
If(curMonth=(Int(NongliData(m)/)+1))Then
curMonth=1-curMonth
ElseIf(curMonth>(Int(NongliData(m)/)+1))Then
curMonth=curMonth-1
EndIf
EndIf
‘生成农历天干、地支、属相==>NongliStr
NongliStr=”农历”&TianGan(((curYear-4)))&DiZhi(((curYear-4)))&”年”
NongliStr=NongliStr&”(“&ShuXiang(((curYear-4)))&””
‘生成农历月、日==>NongliDayStr
If(curMonth<1)Then
NongliDayStr=”闰”&MonName(-1curMonth)
Else
NongliDayStr=MonName(curMonth)
EndIf
NongliDayStr=NongliDayStr&”月”
NongliDayStr=NongliDayStr&DayName(curDay)
calendar=NongliStr&NongliDayStr&”)”
EndFunction
以上就是与阳历生日转换阴历生日相关内容,是关于必须历转换成阳历,找这么一量转换的工具的分享。看完阴历和阳历生日转换器后,希望这对大家有所帮助!
首先我复制粘贴的,还有就是算法复杂,如果你的心算能力强就会更快些!
阳历日期推算阴历日期的方法:
阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日)。然而目前记时通常用阳历日期表达,如欲将阳历日期换算成阴历日期可以用以下两种方法:
其一是查《新编万年历》,如查1984年6月8日是阴历几日?翻开万年历6月10日是阴历十一,则逆推6月8日是阴历初九。
其二可以利用公式推算阴历日期:
设:公元年数-1977(或1901)=4Q+R
则:阴历日期=14Q+106(R+1)+年内日期序数-295n
(注:式中Q、R、n均为自然数,R<4)
例:1994年5月7日的阴历日期为:
1994-1977=17=4×4+1
故:Q=4,R=1
则:5月7日的阴历日期为:
14×4+106(1+1)+(31+28+31+31+7)-295n
=2042- 295n
然后用295去除2042得商数6272,6即是n值,余数27即是阴历二十七日。
一、 推算年干支口诀
掌上推算年干支,支子花甲起根源。
阳支都是旬开始,天干为甲尾四年。
隔位逆推十年正,顺推年尾五零三。
逐支加减六十数,掌上推算千万年。
推算方法:“掌上推算年干支,支子花甲起根源。”此法是将地支排列在掌中,手掌上推算年干支的方法。 首先,在掌上将地支定位(图一),然后以地支子位为花甲子的开始,可定为1864,1924,也可定为1984年,其年都是甲子年。“阳支都是旬开始,天干为甲尾四年。”地支中的子,寅,辰,午,申,戌都是阳支,而且也是每旬的开始,天干都为甲,即甲子,甲戌,甲申,甲午,甲辰,甲寅,这些年的公历尾数均为四。“隔位逆推十年正,顺推年尾五零三。”天干十数,地支十二数,天干与地支组合天干每循环一次,地支总与下二支(旬空)。其中余下的第一支便是下旬的开始。我们从地支子位开始,隔一位逆推,即从子位逆推隔亥到戌,恰是甲戌旬的开始,再逆推隔一位酉至申为甲申旬开始,------年尾数都为四,年间隔都是十年。在确定旬开始以后,以该年尾数四为起点,从下支开始挨位顺推,其公历年尾数分别是5,6,8,9,0,1,2,3,而后又是下旬的开始。“逐支加减六十数,掌上推算千万年”掌握此法推算,如果将甲子年定为1984年,按口诀可知1994年为甲戌,2004年为甲申,2014年为甲午等。确定每旬开始的公历年数后,可根据需要顺推任何一年的干支,虽意性很大,可推千年万年的干支。
二、推算月、时干支口诀
天干五合前为主,月时干序一至五。
年干隔数配寅月,日干配时本数身。
古往今来,年上起月,日上起时,是按天干五合的方法,分成五种情况,即甲、己之年(日)定月(时)的方法相同------。我们也采用这种方法,并一前一天干为主,即甲、己以甲为主,乙、庚以乙为主,------,配上序数甲为1,乙为2,丙为3,丁为4,戊为5(图二),成为推算月、时的固定序数。“年干隔位配寅月”,推算某年的月干,先看该年干与何干相合,然后按“天干五合前为主”的方法,查出该干的序数,并设此干为零,按序数隔干确定寅月的天干。如98年是戊寅,戊癸干合,戊年与癸年的天干相同,属于同一种定寅月天干法。五的序数尾5 ,从5 开始,隔己、庚、辛、壬、癸五天干到甲,就可以算出98年寅月的天干是甲,其他月的天干就好推算了。“日干配时本身数” ,此句推算方法与年干定寅月天干发基本相同,只是在确定日干合干以后,从合之干的前干本身算起,按序数查,到何干,便是该日子时的天干。如己日,己与甲同一类型,以甲干为主,甲的序数为“1”以本身配子时,该日子时的天干为甲,即甲子时。同样,癸日子时吧的天干,因戊癸合干,以五为主,序数为5,从5开始数到壬,癸日子时为壬子时。
二、 农历大小月卦口诀
一年上下两卦编,一七两月初爻安。
阴大阳小编上卦,遇有闰月年十三。
闰爻相邻爻间伏,确定年月按节算。
推算方法:此诀是为了掌握某年农历大小月的排列顺序和有否闰月而编的。“一年上下两卦编,一、七两月初爻安” ,在 正常情况下,农历每年为十二个月。我们可以将一至六月编为前卦,七至十二月编为后卦,几一年编为两卦,并以一月为前卦的处爻,七月为后卦的初爻。“阴大阳小编上卦,遇有闰月年十三”,我们将大月规定用用阴爻表示,小月用阳爻表示,按大小顺序用阴阳爻将一年编为两卦。遇到有闰月的年份就多出一个月,一年为十三个月。“闰年相邻爻间伏,确定年月按节算”。在出现有闰月的年份时,按闰月大小用阴阳爻表现出来,并标在 闰月的前后两月的爻位中间的左侧,如同伏卦一样,一看便知到闰几月,是大月还是小月。同时,提醒您农历年、的确定,不是按万年历编出的月份确定的,而是按节气确定的。如1998年,按上述方法可编成《井》和《坎》两卦,而今年闰5月为小月,上半年月卦符号为“: 。 : 。 。 : ”,下半年的月卦符号为“ = 丨 = = 丨 = ”,上半年卦第5、6爻间伏一阳爻,可知今年润五月为29天。
四、推算日干支口诀
推算日干支,可以按公历和农历两种方法推算。
⑴ 农历日干支推算口诀:
大小月卦记心间,正一干支起根源。
大后干同地支冲,小后干支退一天。
初一十三二十五,支同隔干一位算。
推算方法:“大小月卦记心间,正一干支起根源。”农历的大月为30天小月为29天,固定不变。要推农历曰干支,先要按《农历大小月卦口诀》将推算之年编上两卦,以便在推算日千支时运。除此之外,还要记住农历正月初一日的干支,因为它是推算一年逐日的基础。“大后干同地支冲,小后干支退一天。”农历天干与地支组合,天干循环25次。根据这一规律,知道某月初一日干支,如果这个月是小月则应在干同支冲的情况下,干支各减一位,则是小月后下月初一日干支。如本月初一干支为己卯,这个月是大月,下月初一干支为己酉。如果这个月是小月,则下月初一干支应在己酉退一位后确定,即为戊申日。“初一十三二十五,支同干隔一位算。”此两句是在确定某月初一干支后,将这个月分成三个阶段,即初一至十二,十三至二十四二十五以后。初一、十三、二十五日在干支上也是有规律的。知道初一干支,只要将该日天干隔一位顺推,而地支不变。同理,知道十三日干支,支同干隔一位,也知道二十五日的干支。如初一日干支为甲子,则十三日干支为丙子,二十五日干支为戊子。掌握这个方法,就可以根据所推之日属于哪一段,便可以很快知道这天的干支了。
⑵公历日干支推算口诀:
元旦干支为根源,大小二月记心间。
小月干同地支冲,大月上句加一天。
申子辰年年为闰,干同支冲退一天。
余年二月二十八,干同支冲退一天。
月首十三二十五,支同隔干一位算。
推算方法:“元旦干支为根源,大小二月记心间。”推算公历日干支,首先要记住元旦曰的干支。同时,还要知道大小月及二月的天数。公历大月为31天,小月为30天,其大小月是固定不变的,唯独二月有29天和28天之分。因此,要特别注意哪年二月为29天,那年二月为28天。“小月干同地支冲,大月上句加一天。”公历小月为30天,按农历大月推算口诀,我们知道本月初一日干支,与下月初一干支则是天干相同地支相冲。公历大月为31天,在小月干地相冲的基础上,干支各加一位数,即是大月后下月一日的干支。“申子辰年年为闰,干同支冲退一天。”经过研究,发现凡地支为申、子、辰的年为公历闰年,二月为29天。在推算3月1日干支时,可按农历小月后的日干支推算方法,即在干同地干冲的基础上,干支各减一位,则为3月丨日干支。“余年二月二十八,干同干冲退二天。”除地干为申子辰年二月29天,其它年二月均为28天。在知道2月1日干支后,按干同支冲规律,干支各减二位便是3月1日的干支。“月首十三二十五,支同干隔一位算。”月首,代表每月第1日。其推法与农历日干干诀后两句相同。
五.实例:推算1998年农历6月初10日午时的干支。
⒈先按《农历大小月卦口诀》,将98年农历大小月,排上两卦,并标出闰月。同时,记住正月初一日和元旦日干支。
⒉推算1998年的干支。我们按《推算年干支口诀》在手掌上将地支子位定为甲子,为1984年,并将大拇指按在地支子位上。按“隔位逆推十年正”,大拇指从甲戌94年开始顺推,即94年为甲戌,95年为乙亥,96为丙子,97年为丁丑,98年干支则为戊寅。
⒊推算农历6月份干支。确定1998年戊寅干支以后,按《定月时干支诀》,戊干与癸干合以戊为主,戊的序数为5,将大拇指固定在戊位上。“年干隔位配寅月”,从戊位开始,将大拇指顺数,隔过天干,已,庚,辛,壬、癸五干到甲,便是98年正月的天干,即正月干支为甲寅,再从寅支开始,按甲,己,丙,丁,戊6月干支为己未。
⒋推算6月初10日(公历8月1日)干支。
⑴推算农历日干支。如前所述,98年大小月卦为《井》和《坎》。因为闰5月为29天,为阳爻,伏在《井》卦第5、6爻问,卦形为 =丨= 丨丨= 。
因为要推算的是农历98年正月初一日干支为己亥,先用大拇指在手掌亥支上定位,然后按《农历日干支推算诀》中的“大后干同地支冲,小后干支退一天”的规定,逐月推算初1日的干支。正月为大,干同支冲,大拇指跳到巳位上,2月初1日干支为已巳;干同支冲各减1,大拇指跳到亥位后,再减1位,3月初1日干支为甲戌;3月为小,干同支冲各减1大拇指跳到辰支后退1位,4月初1日为癸卯;4月为大,干同支冲,大姆指跳到酉干,5月初1日为癸酉;5月为小,干同支冲各减1,大拇指跳到卯支再退1位,闰5月 初1日为壬寅。闰5月为小,干同支冲各减1,大拇指跳到申支后再退一位,六月初一干支为辛未。知道6月初1日的干支后,从此位顺推初10曰的干支为庚辰。
⑵、推算公历8月1曰干支。
98年干支为戊寅,年支不属于申子辰,故98年2月为28天。按《曰公历干支推算口诀》中“小月干同地支冲,大月上句加一天------,余年二月二十八,干同支冲退两天”的规律,逐月推算。98年干支戊申,大拇指定在申位上。1月为大,干同支冲加一天,大拇指由申位到跳到寅,加1支到卯,2月1日为己卯,2月28天,干同干冲退二天,大拇指跳到酉位退二支,3月1日为丁未;3为大,干同支冲加1天大拇指跳到丑进一位4月1日干支为戊寅;4月为小,干同干冲,大拇指跳到申位,5月1日干支为戊申;5月为大,干同支冲加1天,大拇指跳到酉位,7月1日干支为己酉;7月为大,干同支冲加1天,大拇指跳到卯进1位到辰,8月1日干支为庚辰。
⒌推算农历6月初10(公历8月1日),该日干支为庚辰。我们按《定日时干支诀》知道,该日干庚与己相合,按“天干五合前为主”,以天干己来推算,己的序数为2,将大拇指定在天干己的位置上。“日干定时本身数”,大拇指从第二位到丙,可知庚辰日子时为丙子。将大拇指从丙子顺推到午年时,天干为壬,午时干支为壬午。
经过在掌上推算年、月、日、时干支,可知98年农历6月初10日(公历8月1日)午时干支,分别为戊寅年己未月庚辰日壬午时。
六、需要注意的几个问题。
⒈要在理解《冯氏掌上巧推年月日时干支法》的基础上,将巧记口诀和在掌上定位推算结合起来,并经常对照万年历进行推算,才可能达到熟练生巧,运用自如。
⒉再运用此法时,应先制定一种表格,并随身携带,供推算年干支时使用。
此表格如下:
年序号 本年大小月卦(闰) 立春月日时 正月初一日干支 元旦日干 支
1988 :丨:丨丨::丨::丨: 正月初八庚子日辰时 己亥 戊申
1999 丨丨:丨丨:丨:::丨: 腊月十九丁亥日未时 甲子 癸丑
在推算逐日干支时,一定要注意大小月,分清干同支冲和干同干支冲加减的区别。
掌上巧推年月日时干支法(附录)
一、 逐年推算元旦干支口诀
欲推来年元旦日,先知今年日干支。
申子辰支年为闰,干加六位支冲支。
余年天干加五位,干冲退一便可知。
推算方法:“欲推来年元旦日,先知今年日干支。”推算来年元旦日的干支,必须先知道今年元旦日的干支,并用大拇指在掌上定位。“申子辰干年为闰,干加六位支冲支。”凡年支临申子辰的为闰年,2月29天。推算下一年元旦日的干支,只要大拇指从今年元旦日支位,跳到相冲的地干支位上,而后天干顺加六位,便是来年元旦的干支。“余年天干加五位,干冲退一便可知。”除申子辰年外,其它年干2月均为28天。大拇指在掌上定好今年元旦日支位置,推算来年元旦干支时,将大拇指跳到相冲之支退一位,天干加上五位,即是来年元旦的干支。
二、逐年推算正月初一日干支口诀
欲推来年正一月,先知今年日干支。
常年退回小月数,闰月小数五六七。
小六干同天隔三,迂五前句各加一。
逢七支同天隔三,各退一位定无异。
推算方法:“欲推来年正一月,先知今年日干支。”推算来年正月初一日的干支,必须先知道今年正月初一的干支。“常年退回小月数,闰月小数五六七。”常年,指没有闰月的年份。推算农历正月初一干支,要按《农历大小月卦口诀》,逐年编上两卦,以便确定某年的小月数。如果今年没闰月,求来年正月初一日干支。经过研究,凡有闰月之年小月数分别为五、六、七三种。“小六干同天隔三,迂五前句各加一。”闰月之年,如果小月数为六,来年正月初一日干支,于前一年初一日干支则是地支相同,而天干则顺隔三位。小月数为五的,按干同天顺隔三后干支各进一位,便是来年正月初一日干支。“逢七支同天隔三,各退一位定无异。”闰月之年小月数为七的,在确定当年正月初一日干支后,推算下一年正月初一日干支,只要按支同天顺隔三位后,干支各减一位,便时来年正月初一日干支。
三、 用卦象推算公历各月第一日干支法
用卦象推算公历各月第一日的干支,主要是按公历大小月固定不便的实际,编上一个适用任何一年的卦象。然后按大小干支循环规律,进行推算各月第一日的干支。公历年大小月固定卦象,上半年是《未济》卦,下半年为《蹇》卦,其卦象如图三所示。在推算过程中,要特别注意二月,因为有28天和29天之分,所以在《未济》卦象的等二爻,标上闰年合非闰年字样,以便在推算时引起注意。在推算时,要将《公历曰干支推算口诀》做为依据,确定下月第一日干支,然后按“月首十三二十五,支同隔干一位算”,推算出所求之日干支。图三。
6月 丨 一曰干同地支冲+1 12月 = 一日干同支冲
5月 = 一日干同地支冲 11月 丨 一日干同支冲+1
4月 丨 一日干同地支冲+1 10月 = 一日干同支冲
3月 = 闰一日干同地支冲+1 09月 丨 一日干同支冲+1
2月 丨 闰年2月29天,非一日干同支冲—2 08月 = 一日干同支冲+1
非闰年2月28天,一日干同支冲+1
1月 = 元旦日干支 07月 = 一日干同支冲
四、 用卦象推算农历各月初一日干支法
农历大小月,其天数固定不变,即大月30天,小月29天。但是,由于大小月的排列不规则,因此要按《农历大小月卦口诀》先编上本年的上下半年的月卦。然后依据两个卦象,参考《农历日干支推算口诀》,在知道正月初一的日干支后,按“大后干同地支冲,小后干支退一天‘的规律,运用卦象来推算农历各月初一日的干支。经研究发现,农历相邻两月大小月的排列,共有四种类型,其推算逐月初一干支法如下:
⑴ 两小月相邻同支冲 ⑵ 两大
— 下月干同支冲—1 = 下月干
— 本月初一日干 = 本月初一日干支
⑶大小月相邻 ⑷ 大小月相邻
— 下月干同支冲 = 下月干同支冲—1
= 本月初一日干支 — 本月初一日
△ 实例:推算2001年各月初一干支
⒈按《农历大小月卦口诀》,先将2001年编上月卦。上半年为“艮”卦,下半年为“既济”卦。
⒉2001年正月初一日干支为丁亥。
⒊推算时,要将1、2月,3、4月等相邻两月,与四种排列类型对照,然后按相同类型进行推算。
⒋根据卦象,逐月进行推算。
6月“ — ”干同支冲己酉 12月“ = ” 干同支冲—1辛巳
5月“ — ”干同支冲—1己卯 11月“ — ” 干同支冲壬子
闰4月“ — ”干同支冲丙戌 10月“ = ” 干同支—1壬午
4月“ — ” 干同支冲—1丙辰 9月“ — ” 干同支冲葵丑
3月“ — ” 干同支冲丁亥 8月“ = ” 干同支冲—1癸末
2月“ — ” 干同支冲丁巳 7月“ — ” 干同支冲—1甲寅
1月“ — ” 正月初一丁亥
经过逐卦推算农历12月初一为辛巳。
这是网上的例子,你仔细看看
using System;
using SystemData;
using SystemConfiguration;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
using System;
using SystemCollectionsGeneric;
using SystemText;
using SystemGlobalization;
/// <summary>
/// chinaDate 的摘要说明
/// </summary>
public class chinaDate
{
public string cDate()
{
ChineseLunisolarCalendar l = new ChineseLunisolarCalendar();
DateTime dt = DateTimeToday; //转换当日的日期
//dt = new DateTime(2006, 1,29);//农历2006年大年初一(测试用),也可指定日期转换
string[] aMonth ={"","正月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "腊月", "腊月" };
//a10表示日期的十位!
string[] a10 ={ "初", "十", "廿", "卅" };
string[] aDigi ={ "O", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
string sYear = "", sYearArab = "", sMonth = "", sDay = "", sDay10 = "", sDay1 = "", sLuniSolarDate = "";
int iYear, iMonth, iDay;
iYear = lGetYear(dt);
iMonth = lGetMonth(dt);
iDay = lGetDayOfMonth(dt);
//Format Year
sYearArab = iYearToString();
for (int i = 0; i < sYearArabLength; i++)
{
sYear += aDigi[ConvertToInt16(sYearArabSubstring(i, 1))];
}
//Format Month
int iLeapMonth = lGetLeapMonth(iYear); //获取闰月
if (iLeapMonth > 0 && iMonth<=iLeapMonth)
{
//for (int i = iLeapMonth + 1; i < 13; i++) aMonth[i] = aMonth[i - 1];
aMonth[iLeapMonth] = "闰" + aMonth[iLeapMonth-1];
sMonth = aMonth[lGetMonth(dt)];
}
else if (iLeapMonth > 0 && iMonth > iLeapMonth)
{
sMonth = aMonth[lGetMonth(dt) - 1];
}
else
{
sMonth = aMonth[lGetMonth(dt)];
}
//Format Day
sDay10 = a10[iDay / 10];
sDay1 = aDigi[(iDay % 10)];
sDay = sDay10 + sDay1;
if (iDay == 10) sDay = "初十";
if (iDay == 20) sDay = "二十";
if (iDay == 30) sDay = "三十";
//Format Lunar Date
//sLuniSolarDate = dtYear+"年"+dtMonth+"月"+dtDay+"日 "+Weeks(dtDayOfWeekToString())+" 农历" + sYear + "年" + sMonth + sDay;
sLuniSolarDate =" 农历" + sMonth + sDay;
return sLuniSolarDate;
}
private string Weeks(string Weeken)
{
switch (Weeken)
{
case "Monday":
return "星期一";
break;
case "Tuesday":
return "星期二";
break;
case "Wednesday":
return "星期三";
break;
case "Thursday":
return "星期四";
break;
case "Friday":
return "星期五";
break;
case "Saturday":
return "星期六";
break;
case "Sunday":
return "星期日";
break;
default:
return " ";
}
}
}
二、第二步
chinaDate s = new chinaDate();
Label1Text = DateTimeNowToShortDateString() + " " + CaculateWeekDay(DateTimeNowDayOfWeekToString()) + " " + scDate();
三、第三步
#region 得到今天是星期几
protected string CaculateWeekDay(string week)
{
string weekstr = "";
switch (week)
{
case "Monday": weekstr = "星期一"; break;
case "Tuesday": weekstr = "星期二"; break;
case "Wednesday": weekstr = "星期三"; break;
case "Thursday": weekstr = "星期四"; break;
case "Friday": weekstr = "星期五"; break;
case "Saturday": weekstr = "星期六"; break;
case "Sunday": weekstr = "星期日"; break;
}
return weekstr;
}
#endregion
int weekDay = javautilCalendargetInstance()get(javautilCalendarDAY_OF_WEEK);
这个得出的是一个星期的第几天。
以上就是关于阴历和阳历生日转换器,阳历生日转换阴历生日全部的内容,包括:阴历和阳历生日转换器,阳历生日转换阴历生日、怎样计算阴历的日期、C# 中 怎样获得当前星期以及农历时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)