话题:阳历如何转换成农历根据经验, 这个算法非常复杂. 经过查找,终于得到一些资料, 在此愿与大家分享。首先阴历以月为基本单位,一个月以新月出现的那一天为始直至下一个新月出现的前一天。由于月亮公转的周期介于29到30天之间,阴历的一个月也就由新月出现时刻的早晚或是29天或是30天。大月为30天,小月为29天。与阳历不同的是,大小月在不同的年中不固定。如春节的前一天常称为大年三十,但有不
根据
话题:阳历如何转换成农历
的经验,这个算法很复杂。经过搜索,终于得到了一些资料,想和大家分享一下。
首先,农历以月为基本单位,一个月是从新月出现的那一天开始,直到下一个新月出现的前一天。
因为月亮公转的周期在29到30天之间,农历的一个月是由新月出现的早晚决定的,不是29天就是30天。
大月30天,小月29天。
与阳历不同,月份的大小在不同年份并不固定。
例如,春节的前一天通常被称为除夕,但在许多年,如2000年,农历12月只有29天。
十二个月比阳历年,也就是地球绕太阳公转的时间短11天左右。
为了保持农历年和阳历年的相对稳定,每隔两三年就要加一个闰月。
大约每19年增加7个闰月。
二十四节气是由地球在绕日轨道上的位置决定的。
从每年的冬至开始,每15度为一个节气。
所以二十四节气在阳历的每个月都有大致固定的日期。
在古代,农耕以二十四节气为指导,这也是为什么农历也被称为阴历的原因。
其中阳历后半段的十二节气也叫中气。
气出现的时间直接关系到闰月的确定。
农历的计算有以下四条规则:
1.所有新月和节气出现时间的计算,都是以东经120度,即东八区标准时间为基准。
但计算1929年以前的农历时,以北京当地时间,即东经116度25分为准。
2.新月出现的日子是一个月的第一天。
如果这一天出现了节气,无论节气是否晚于新月,都将落入新月。
每年的冬至总是在今年的11月中旬。
从一年冬至的第二天到下一个冬至的这段时间称为一岁。
如果一年有十三个新月,今年就是闰年,要加一个闰月。
4.闰年没有煤气的第一个月是闰月。
因为一年只有十二个中年人,闰年至少一个月没有中年人,也有两个月没有中年人的可能。
但是,在这种情况下,只有没有气的第一个月是闰月。
当闰月的前一个月是一个月时,闰月被称为闰月。
根据以上信息,我们知道农历是根据天文观测来指定的(也许可以在天文书上找到说明)。
为了简化转换计算,许多程序员采用“按时间段查表”的方法设计程序。
有关更详细的描述和源代码,请参考以下材料:
http://www.yesky.com/20020220/217955.shtml
http://www.cx66.com/cxgzs/program/vb/953.htm
http://www.china-askpro.com/msg16/qa02.shtml
话题:将公历转换成农历的换算公式公式是什么?
,看日历。
话题:在EXCEL中怎样把公历转换成农历
Dim WeekName(7)、MonthAdd(11)、NongliData(99)、天干(9)、地直(11)、书香(11)、DayName(30)、MonName(12)
Dim curTime、curYear、curMonth、curDay、curWeekday
Dim GongliStr,WeekdayStr,NongliStr,NongliDayStr
Dim i,m,n,k,isEnd,bit,TheDate
私有子窗体_Load()
获取当前系统时间。
curTime=Now()
本周名称
WeekName(0)=' * '
WeekName(1)=' Sunday '
WeekName(2)='星期一'
星期名称(3)='星期二'
WeekName(4)='星期三'
WeekName(5)='星期四'
WeekName(6)=' Friday '
WeekName(7)='星期六'
天干名
天干(0)=' A '
天干(1)=' B '
天干(2)='丙'
天干(3)=' d '
天干(4)=' E '
天干(5)='自我'
天干(6)='克'
天干(7)='心'
天干(8)='壬'
天干(9)='癸'
地球分部的名称
DiZhi(0)=' child '
嫡之(1)='丑'
地直(2)='阴'
嫡之(三)=《毛》
嫡之(4)=“陈”
地直(5)='地'
地之(6)='午'
第七项)='否'
地之(8)='神'
嫡支(9)='酉'
地直(10)=''
地直(11)='海'
动物学名称
书香(0)='鼠标'
书香(1)='牛'
书香(2)='老虎'
书香(3)='兔子'
书香(4)=“龙”
书香(5)='蛇'
书香(6)='马'
书香(7)='羊'
书香(8)='猴'
书香(9)='鸡'
书香(10)='狗'
书香(11)='猪'
农历日期名称
DayName(0)='* '
DayName(1)='等级1 '
DayName(2)='等级2 '
日名(3)=“三级”
DayName(4)='初四'
DayName(5)='初五'
DayName(6)='初六'
DayName(7)='初七'
DayName(8)='初八'
DayName(9)='初九'
DayName(10)='初十'
DayName(11)='十?quot
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)=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
'生成当前公历年、月、日==巩俐斯特
curYear=Year(curTime)
curMonth=月(柯蒂斯)
curDay=Day(curTime)
' GongliStr=curYear '年'
If(第10个月)然后
GongliStr=GongliStr '0' curMonth '月'
其他
' GongliStr=GongliStr curMonth '月'
如果…就会结束
If (curDay 10)然后
GongliStr=GongliStr '0' curDay '日'
其他
' GongliStr=GongliStr curDay '日'
如果…就会结束
'生成当前公历星期==WeekdayStr
curWeekday=工作日(柯蒂斯)
WeekdayStr=WeekName(curWeekday)
'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)
date=(当前年-1921)* 365 Int((当前年-1921)/4)curDay month add(当前月-1)-38
如果((curYear Mod 4)=0且第二个月),则
日期=日期一
如果…就会结束
'计算农历天干、地支、月、日
isEnd=0
m=0
做
If (NongliData(m) 4095)则
k=11
其他
k=12
如果…就会结束
n=k
做
如果(无)则
出口做
如果…就会结束
'获取NongliData(m)的第n个二进制位的值
bit=NongliData(m)
对于i=1至n步骤一
bit=Int(bit/2)
然后
bit=bit Mod 2
如果(日期=29位)则
isEnd=1
出口做
如果…就会结束
日期=日期- 29位
n=n – 1
环
如果(isEnd=1),则
出口做
如果…就会结束
m=m 1
环
curYear=1921 m
curMonth=k – n 1
curDay=TheDate
如果(k=12)那么
if(cur month=(Int(NongliData(m)/65536)1))则
curMonth=1 – curMonth
else if(cur month(Int(NongliData(m)/65536)1))然后
curMonth=curMonth – 1
如果…就会结束
如果…就会结束
'生成农历天干、地支、属相==NongliStr
NongliStr='农历'天干(((公元四年)模60)模10)地直(((公元四年)模60)模12)'年'
Nong listr=Nong listr '('书香((cur year-4)Mod 60)Mod 12)')'
'生成农历月、日==NongliDayStr
If(第1个月)然后
NongliDayStr='闰MonName(-1 * curMonth)
其他
NongliDayStr=MonName(curMonth)
如果…就会结束
NongliDayStr=NongliDayStr '月'
NongliDayStr=NongliDayStr日名(curDay)
MsgBox NongliStr NongliDayStr
末端接头
参考资料:http://www.wangchao.net.cn/bbsshowlist.jsp?area _ id=02 board _ id=01 parent _ id=23361
话题:农历新历转换器
http://site.baidu.com/list/wannianli.htm
去那你就知道了!或者下载一个万年历装上可以随时查询!
话题:日期的阳历和阴历怎么换算~?
最好去查万年历。
如果自己笔算,找对对应的一天,然后一起加减相应的天数就好了。不过很麻烦的,阳历有闰年,阴历有闰月,还有大小月。
话题:农历日期和公历日期怎么转换,
我做计算器的,这个就是转化,你看哈嘛!//将日期换算为公历的天数private int to Julian(){ int jy=year;if(年份0)jy;int jm=monthif(第2个月)JM;else { jy-;jm=13} int jul=(int)(Java。郎。数学。地板(365.25 * jy)Java。郎。数学。楼(30.6001 * JM)日1720995.0);int IGREG=15 31 *(10 12 *年);如果(第31天*(12月*年)=IGREG){ int ja=(int)(0.01 * jy);jul=2-ja(int)(0.25 * ja);}返回七月} //从具体的天数得到日期私有void形式Julian(int j){ int ja=j;int JGREG=2299161 if(j=JGREG){ int jal PHA=(int)(((float)(j-1867216)-0.25)/36524.25);ja=1日航PHA-(int)(0.25 *日航PHA);} int jb=ja 1524int JC=(int)(6680.0((float)(j B-2439870)-122.1)/365.25);int JD=(int)(362 * JC(0.25 * JC));int je=(int)((j b-JD)/30.6001);day=j B-JD-(int)(30.6001 * je);月=je-1;if(第12个月)month-=12;年份=JC-4715;如果(第二个月)年;if(year=0)-year;}私(同Internationalorganizations)国际组织日;私人(同Internationalorganizations)国际组织月;私人(同Internationalorganizations)国际组织年;
原创文章,作者:凯尔,如若转载,请注明出处:https://www.meirixz.com/bazi/120952.html