儒略日与公历转换公式

合集下载

儒略日的计算

儒略日的计算

儒略⽇的计算儒略⽇的计算现在的公历起源于埃及历,由古罗马的恺撒在公元前46年制定的,365⽇作为⼀年,单⽉为⼤⽉31天,双⽉为⼩⽉30天,4年⼀闰,称为"儒略历"或"恺撒历"。

1582年罗马教皇格⾥⾼利⼗三世(Gregorius XⅢ)对"儒略历"⼜进⾏修改,规定被4整除的年为闰年,但逢百之年只有能被400除尽才能是闰年。

这就是使⽤⾄今的"格⾥历"。

教皇于1582年10⽉ 4⽇还下令将次⽇(即原10⽉5⽇)定为10⽉15⽇,把春分⽇⼜恢复为3⽉21⽇。

儒略⽇(Julian day,JD)是由法国学者 Joseph Justus Scaliger(1540-1609)发明的,是天⽂学上不⽤⼀种不⽤年、⽉的长期纪⽇法,⽤它可以很⽅便地计算到两时? 涞慵湟蕴焓 屏康氖奔浼涓簟H迓匀找怨 ?713年儒略历1⽉1⽇格林威治平午为起算⽇期,以7980年为⼀个周期,每天顺数⽽下,流⽔计⽇。

儒略⽇的这种计算⽅法相当⽅便,获得了天⽂? 缒诘囊恢虏捎茫 翘煳募扑阒凶钗 匾 募扑慊 肌?例如:JD=245 191 9.34230,它意味着距儒略周期的开始已经逝去了2451919天。

⽽⼩数点后的".34230"代表这天的时间("15:12:54 EST"),在天体位置计算中是最具信息量的数据。

再⽐如世界时公元2009年3⽉1号的儒略⽇是2454891.8333333335天。

注意,"儒略⽇(julian Day)" 与"儒略历(Julian Calendar)"指的不是同⼀概念。

由于儒略⽇的表达数值太长,需要7位数字表⽰天数,因此,后来⼜出现了⼀种约化儒略⽇(Modified Julian Day,MJD)的记法,MJD = JD - 2,400,000.5,即约化儒略⽇的起算点在1858年11⽉16⽇平午。

阴历阳历转换计算公式

阴历阳历转换计算公式

1、阳历日期推算阴历日期的方法:前已述及阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日)。

如要知道1984年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即是阴历二十七日2.公历换算为农历二十四节气在黄道上的位置是固定的,但各年有平年和闰年之分,就使得回归年天数与实际天数不等,每年在日历上可差一天。

这样可以将阴历经过任意整回归年在现在的日历上查到阳历(阳历一年相当阴历的月数为365.2422/29.530588=12.36827个月)。

例如,可先在1995年的日历上查得与(该年)阴历对应的阳历日期,这样就找到了临时落脚点,也就是找到了阴阳互换的关键。

例如,可先以阴历四月初一(日)为引数,在1995年日历上查到对应的阳历为4月30日。

由于已经计算出经过的月数,将经过的月数的尾数(小数)化为日,加在4月30日上,就得到经过(1995-1070)整年数的阳历日期,也就是起始阴历日期对应的阳历日期,即得到了待查的日期为4月30日加上0.64957×29.530588得到(1070年)5月19.1821840日。

这样就得到了所给例子的阴阳历日期换算结果……”。

0.64957月的由来,(1995-1070)×12.36827=11440.64957月已知依泽公生于梁龙德二年(922)六月二十一日,依下表提供的2099年各月初一日的公历月日数,可以算出龙德二年六月二十一日的公历月日数公元2099年农历各月初一日的公历月日(2099-922)×12.36827=1455.45379月余数为0.45379月×29.530588日=13.4O日因2099年五月初一日(包括该年闯二月)在公历6月19日,加上计算所得的13日为龙德二年六月初一日的公历月日,即该年7月2日,则该年农历六月二十一日为该年7月22日。

儒略日Juliandate计算matlab

儒略日Juliandate计算matlab

儒略日 Juliandate 计算 matlab 儒略日 Juliandate 计算 matlabthanksto:在天文学有一种连续纪日的儒略日(JD),它以儒略历公元前4713年1月1日的GMT正午为第0日的开始。

还有一种简化儒略日(MJD):MJD=JD-2400000.5MJD的第0日是从公历1858年11月17日的GMT零时开始的。

需要注意:儒略历公元前4713年1月1日相当于公历公元前4713年11月24日。

儒略日(Julianday)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。

儒略日是一种不用年月的长期纪日法,简写为JD。

是由法国学者JosephJustusScliger(1540-1609)在1583年所创,这名称是为了纪念他的父亲--意大利学者JuliusCaesarScaliger(1484-1558)。

儒略日的起点订在公元前4713年(天文学上记为-4712年)1月1日格林威治时间平午(世界时12:00),即JD0指定为4713B.C.1月1日12:00UT到4713B.C.1月2日12:00UT的24小时。

每一天赋予了一个唯一的数字,顺数而下,如:1996年1月1日12:00:00的儒略日是2450084。

这个日期是考虑了太阳、月亮的运行周期,以及当时收税的间隔而订出来的。

JosephScliger定义儒略周期为7980年,是因28、19、15的最小公倍数为28×19×15=7980。

其中:28年为一太阳周期(solarcycle),经过一太阳周期,则星期的日序与月的日序会重复。

19年为一太阴周期,或称默冬章(Metoniccycle),因235朔望月=19回归年,经过一太阴周期则阴历月年的日序重复。

15年为一小纪(indictioncycle),此为罗马皇帝君士坦丁(Constantine) 所颁,每15年评定财产价值以供课税,成为古罗马用的一个纪元单位,故以7980年为一儒略周期,而所选的起点公元前4713年,则是这三个循环周期同时开始的最近年份。

【高中数学】两种纪年的换算和星期数的求法

【高中数学】两种纪年的换算和星期数的求法

【高中数学】两种纪年的换算和星期数的求法现在,人们只要查看万年历,就可以知道某一年的公农历两种纪年的结果,还可以知道某日是星期几。

例如,1949年是己丑年,该年的10月1日是星期六;张之洞卒于1909年,这一年是己酉年(宣统元年)。

然而,万年历并不容易获得。

你知道上面的问题吗?剩下的你能问一下吗?答案是肯定的。

一、公历纪年与农历纪年的换算现在,世界上普遍使用公历,也称为公历。

在中国,它也被称为公历(在古代中国,太阳被视为阳,月亮被视为阴)。

根据太阳绕地球运行365天和1/4天的时间,经过长期的不断改进和演变,教宗格雷戈里十三世终于在原凯撒历的基础上于1582年10月15日颁布实施。

1752年9月14日起,英国及其殖民地国家开始实施。

与公历同排在我国日历上的农历,是我们国家所特有的一种“干支纪年历”,又叫阴历。

它是把一个朔望月,也就是相邻两次朔月(或望月即满月)的时间间隔二十九点五三零六天,作为一个农历月,采用十“天干”与十二“地支”搭配成60年一循环的周期性“干支纪年历”。

为了便于理解和运用,我们给出天干地支搭配表如下:1甲子2乙丑3丙寅4丁卯5戊辰6己巳78辛未9壬申10癸酉11甲戌12乙亥13丙子14丁丑15戊寅16己卯17庚辰18辛巳19壬午癸未21甲申22乙酉23丙戌24丁亥25戊子26己丑27庚寅28辛卯29壬辰30癸巳31甲午3233丙申34丁酉35戊戌36己亥37庚子38辛丑39壬寅40癸卯41甲辰42乙巳43丙午44丁未戊申46己酉47庚戌48辛亥49壬子50癸丑51甲寅52乙卯53丙辰54丁巳55戊午56己未5758辛酉59壬戌60癸亥根据上表的顺序,每年使用一对干枝。

这个年表叫做“干支年表”。

根据古代文献记载,干支年表最晚在东汉初被广泛使用,至今仍在使用干支纪年在我国历史学中广泛使用,很多历史事件的年代常用它来表示.例如,甲午战争、戊戌变法、辛亥革命等等.在“分支机构列表”和历史知识的帮助下,可以通过公式x=n+3+60m转换日历年和分支机构年(如果你不记得,你需要自己安排)。

阴历阳历转换计算公式

阴历阳历转换计算公式

1、阳历日期推算阴历日期的方法:前已述及阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日)。

如要知道1984年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即是阴历二十七日2.公历换算为农历二十四节气在黄道上的位置是固定的,但各年有平年和闰年之分,就使得回归年天数与实际天数不等,每年在日历上可差一天。

这样可以将阴历经过任意整回归年在现在的日历上查到阳历(阳历一年相当阴历的月数为365.2422/29.530588=12.36827个月)。

例如,可先在1995年的日历上查得与(该年)阴历对应的阳历日期,这样就找到了临时落脚点,也就是找到了阴阳互换的关键。

例如,可先以阴历四月初一(日)为引数,在1995年日历上查到对应的阳历为4月30日。

由于已经计算出经过的月数,将经过的月数的尾数(小数)化为日,加在4月30日上,就得到经过(1995-1070)整年数的阳历日期,也就是起始阴历日期对应的阳历日期,即得到了待查的日期为4月30日加上0.64957×29.530588得到(1070年)5月19.1821840日。

这样就得到了所给例子的阴阳历日期换算结果……”。

0.64957月的由来,(1995-1070)×12.36827=11440.64957月已知依泽公生于梁龙德二年(922)六月二十一日,依下表提供的2099年各月初一日的公历月日数,可以算出龙德二年六月二十一日的公历月日数公元2099年农历各月初一日的公历月日(2099-922)×12.36827=1455.45379月余数为0.45379月×29.530588日=13.4O日因2099年五月初一日(包括该年闯二月)在公历6月19日,加上计算所得的13日为龙德二年六月初一日的公历月日,即该年7月2日,则该年农历六月二十一日为该年7月22日。

儒略日与公历转换公式

儒略日与公历转换公式

儒略日与公历转换公式儒略日和公历是两种不同的时间计量方式,它们在历史上都曾被广泛使用。

儒略日是一种连续计数的时间系统,起始日为公元前4713年1月1日,而公历是一种以天、月和年为单位的时间系统。

在进行日期转换时,我们可以使用一些公式来帮助我们准确地将儒略日转换为公历或将公历转换为儒略日。

1. 儒略日转换为公历要将儒略日转换为公历日期,我们可以使用以下公式:L = JD + 68569N = 4 * L / 146097L = L - (146097 * N + 3) / 4I = 4000 * (L + 1) / 1461001L = L - 1461 * I / 4 + 31J = 80 * L / 2447D = L - 2447 * J / 80L = J / 11M = J + 2 - 12 * LY = 100 * (N - 49) + I + L其中,JD表示儒略日,Y表示公历的年份,M表示月份,D表示日期。

2. 公历转换为儒略日要将公历日期转换为儒略日,我们可以使用以下公式:Y = 公历年份M = 公历月份D = 公历日期如果M为1或2月,Y需要减去1,M需要加上12。

A = Y / 100B = A / 4C = 2 - A + BE = 365.25 * (Y + 4716)F = 30.6001 * (M + 1)JD = C + D + E + F - 1524.5其中,JD表示儒略日。

通过使用上述公式,我们可以将儒略日和公历之间进行精确的转换。

这些公式基于历史上对时间的精确测量和计算。

儒略日和公历的转换对于天文学家、历史学家和其他需要处理日期的人们来说都非常重要。

它们可以帮助我们在不同的时间系统之间进行准确的转换,以满足不同领域的需求。

总结起来,儒略日与公历转换公式是一种重要的工具,可以帮助我们在儒略日和公历之间进行准确的日期转换。

通过这些公式,我们可以方便地将儒略日转换为公历日期,或者将公历日期转换为儒略日,满足不同领域对时间计量的需求。

回历、公历、农历的换算

回历、公历、农历的换算

回历、公历、农历的换算2002-2-10 22:02:19 马肇曾阅读9061次研究世界伊斯兰教历史,免不了要对以回历所记载的历史事实换算为公历,或将所载的公历换算为回历。

《回历纲要》、《历法丛谈》、《万年历谱》以及《回回天文学史研究》[1--4]等专著都载有自回历换算为公历的算式,并称两历因闰年的时间不同,故换算结果常有一日之差,惟均未讨论一日之差的简易订正方法。

1998年《北京大学学报》(自然科学版)载文讨论了中国农历与公历、回历的换算问题[5]。

惟笔者依上列著作中所列算式推算结果;发现与实际所载日期误差常大于一日,最高可达十日之多。

因此有必要对计算中误差的来源及计算公式的改进进行探讨,特撰此文。

二、国历换算为公历1.换算公式的导出公历每年365.242 199074075 日(简化为365.2422日),而回历每年为354.367074375日(简化为354.36707日),所以回历一年只相当354.36707/365.2422=0.970223或0.970224个公历年。

又回历元年元旦定在公元622年7月16日,由于当时历法在推算上的误差,致当时的7月16日,按现代的公历应改为7月19日,自公元某年元旦至该年7月19日已达200日.相200/365.2422=0.5476公历年;又因到回历二年元旦才达到0.970224个公历年,故自回历纪年元旦换算为公历的算式即为:(回历纪年一1)× 0.970224+622.5476年=所求公历年月日 (1)或回历纪年× 0.970224+621.5774年=所求公历年月日 (2)式中621.5774来自622.5476-0.970224。

如所求某一历史事实不在回历元旦时,可将事实经过本年的总日数化为回历年,加人回历纪年总数中即可。

然而上列公历一年的总日数,实际上是一回归年的实测数,因现用公历每年的日数实为365.2425日,它与一回归年的日数只能是基本相符,到公元四千多年后会再出现一日之差。

儒略日、公历年月日之间的转换以及儒略日的应用电子教案

儒略日、公历年月日之间的转换以及儒略日的应用电子教案

一、作业要求编写程序实现以下任务:1.1由公历年月日化为儒略日1.2由儒略日转化为公历年月日1.3儒略日的应用1.3.1 计算两个日期间的间隔天数1.3.2 计算星期几1.3.3 计算年积日(DOY)1.3.4 由年积日计算年月日二、程序设计2.1 窗体设计2.2 代码实现2.2.1由公历年月日化为儒略日//由公历年月日转化为儒略日的函数public double GLToJD(double Y, double M, double D){double JDtime;JDtime = 367 * Y - Math.Truncate(7 * (Y + Math.Truncate((M + 9) / 12)) / 4) + Math.Truncate(275 * M / 9) + D + 1721013.5;return JDtime;}2.2.2由儒略日转化为公历年月日//由儒略日转化为公历年月日的函数public void JDToGL(double JDtime,out double Y,out double M,out double D){double a, b, c, d, e;a = Math.Truncate(JDtime + 0.5);b = a + 1537;c = Math.Truncate((b - 122.1) / 365.25);d = Math.Truncate(365.25 * c);e = Math.Truncate((b-d)/30.6001);D=b-d-Math.Truncate (30.6001*e)+JDtime+0.5- Convert.ToInt32(JDtime+0.5);M = e - 1 - Math.Truncate(e / 14) * 12;Y = c - 4715 - Math.Truncate((7 + M) / 10);}2.2.3 计算两个日期间的间隔天数private void JGTSbutton_Click(object sender, EventArgs e){double JDtime1, JDtime2,Y1,M1,D1,Y2,M2,D2,JGTS;if (Year31.Text == "" || Month31.Text == "" || Day31.Text == "" || Year31.Text == "" || Month31.Text == "" || Day31.Text == ""){MessageBox.Show("输入的日期不能为空!");}else{Y1 = double.Parse(Year31.Text);M1 = double.Parse(Month31.Text);D1 = double.Parse(Day31.Text);JDtime1 = GLToJD(Y1, M1, D1);Y2 = double.Parse(Year32.Text);M2 = double.Parse(Month32.Text);D2 = double.Parse(Day32.Text);JDtime2 = GLToJD(Y2, M2, D2);JGTS = Math.Abs(JDtime2 - JDtime1);JG.Text = JGTS.ToString();}}2.2.4 计算星期几private void XQbutton_Click(object sender, EventArgs e){double JDtime,Y,M,D, XQ;if (Year4.Text == "" || Month4.Text == "" || Day4.Text == "") {MessageBox.Show("输入的日期不能为空!");}else{Y = double.Parse(Year4.Text);M = double.Parse(Month4.Text);D = double.Parse(Day4.Text);JDtime = GLToJD(Y, M, D);XQ = (JDtime + 1.5) % 7;if (XQ == 0){weekDay.Text = "星期日";}if (XQ == 1){weekDay.Text = "星期一";}if (XQ == 2){weekDay.Text = "星期二";}if (XQ == 3){weekDay.Text = "星期三";}if (XQ == 4){weekDay.Text = "星期四";}if (XQ == 5){weekDay.Text = "星期五";}if (XQ == 6){weekDay.Text = "星期六";}}}2.2.5 计算年积日private void NJRbutton_Click(object sender, EventArgs e){double Y,M,D,JDtime1,JDtime2;if (Year5.Text == "" || Month5.Text == "" || Day5.Text == "") {MessageBox.Show("输入的日期不能为空!");}else{Y = double.Parse(Year5.Text);M = double.Parse(Month5.Text);D = double.Parse(Day5.Text);JDtime1 = GLToJD(Y,M-1,D);JDtime2 = GLToJD(Y,0,0 );NJR1.Text = (JDtime1-JDtime2).ToString();}}2.2.6 由年积日计算年月日private void NJRTONYRbutton_Click(object sender, EventArgs e){double JDtime, Y1, Y, M, D,NJR;if (Year6.Text == "" || NJR2.Text == "" ){MessageBox.Show("输入的日期不能为空!");}else{NJR = double.Parse(NJR2.Text);Y1 = double.Parse(Year6.Text);JDtime = GLToJD(Y1, 0, 0) + NJR+30;JDToGL(JDtime ,out Y,out M,out D);textBox1.Text = JDtime.ToString ();GLNYR.Text = Y.ToString() + "年" + M.ToString() + "月" + D.ToString() + "日"; }}2.3 运行结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

儒略日与公历转换公式
儒略日是一种表示日期的方法,它最初由儒略历制定者所使用,后来被广泛应用于科学和天文学领域。

儒略日是指自公元前4713年1月1日中午12点(格林威治时间)至今所经历的天数。

儒略日的计算涉及到公历和儒略历的转换,下面介绍一下常用的儒略日与公历转换公式。

儒略日转公历日期公式:
首先,儒略日数J的整数部分代表的是距离公元前4713年1月1日中午12点的天数,而小数部分代表的是当天已经过去的时间(例如,0.5代表中午12点半)。

为了将儒略日转换成公历日期,我们需要使用以下公式:
L = J + 68569
N = (4L / 146097)
L = L - (146097N + 3) / 4
I = (4000(L+1))/1461001
L = L - (1461I/4) + 31
J = 80L/2447
D = L - (2447J/80)
L = J / 11
M = J + 2 - 12L
Y = 100(I - 49) + L + M
其中,L是一个中间变量,N是每400年有多少个闰年的修正项,
I是每100年有多少个闰年的修正项,J是一个中间变量,D是日期,M是月份,Y是年份。

公历日期转儒略日公式:
如果我们已知公历日期,想要将其转换成儒略日,则可以使用以下公式:
J = (1461(Y+4800+(M-14)/12))/4
+(367(M-2-12((M-14)/12)))/12 - (3((Y+4900+(M-14)/12)/100))/4 +D-32075
其中,Y是年份,M是月份,D是日期,J是儒略日数。

以上就是儒略日与公历转换的公式,它们在天文学、地球科学和计算机科学等领域都有广泛应用。

相关文档
最新文档