二十四节气如何计算_第1页
二十四节气如何计算_第2页
二十四节气如何计算_第3页
二十四节气如何计算_第4页
二十四节气如何计算_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二十四节气如何计算?立春日期的计算:计算公式:Y*D+C-L公式解读:年数的后2位乘0.2422加3.87取整数减闰年数。21世纪C值=3.87,22世纪C值=4.15。二十四节气的计算立春日期的计算计算公式:Y*D+C-L公式解读:年数的后2位乘0.2422加3.87取整数减闰年数。21世纪C值=3.87,22世纪C值=4.15。举例说明:2058年立春日期的计算步骤58×.0.2422+3.87-(58-1)/4=17-14=3,则2月3日立春。雨水日期的计算 Y*D+C-L公式解读:年数的后2位乘0.2422加18.74取整数减闰年数。21世纪雨水的C值18.73。举例说明:2

2、008年雨水日期=8×.0.2422+18.73-(8-1)/4=20-1=19,2月19日雨水。例外:2026年计算得出的雨水日期应调减一天为18日。惊蛰日期的计算 Y*D+C-L公式解读:年数的后2位乘0.2422加5.63取整数减闰年数。21世纪惊蛰的C值=5.63。举例说明:2088年惊蛰日期=88×.0.2422+5.63-88/4=26-22=4,3月4日是惊蛰。例外:无。春分日期的计算 Y*D+C-L公式解读:年数的后2位乘0.2422加20.646取整数减闰年数。21世纪春分的C值=20.646。举例说明:2092年春分日期=92×.0.2422+

3、20.646-92/4=42-23=19,3月19日是春分。例外:2084年的计算结果加1日。清明节日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=4.81,20世纪=5.59。举例说明:2088年清明日期=88×.0.2422+4.81-88/4=26-22=4,4月4日是清明。例外:无。谷雨节日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=20.1,20世纪=20.888。举例说明:2088年谷雨日期=88×.0.2422+20.1-88/4=41-22=19,4月19日是谷雨。

4、例外:无。立夏日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=5.52,20世纪=6.318。举例说明:2088年立夏日期=88×.0.2422+5.52-88/4=26-22=4,5月4日是立夏。例外:1911年的计算结果加1日。小满日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=21.04,20世纪=21.86。举例说明:2088年小满日期=88×.0.2422+21.04-88/4=42-22=20,5月20日小满。例外:2008年的计算结果加1日。芒种日期的计算 Y*D+C-

5、L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=5.678,20世纪=6.5。举例说明:2088年芒种日期=88×.0.2422+5.678-88/4=26-22=4,6月4日芒种。例外:1902年的计算结果加1日。夏至日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=21.37,20世纪=22.20。举例说明:2088年夏至日期=88×.0.2422+21.37-88/4=42-22=20,6月20日夏至。例外:1928年的计算结果加1日。小暑日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.24

6、22,L=闰年数,21世纪C=7.108,20世纪=7.928。举例说明:2088年小暑日期= 88×0.2422+7.108-88/4=28-22=6,7月6日是小暑。例外:1925年和2016年的计算结果加1日。大暑日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=22.83,20世纪=23.65。举例说明:2088年大暑日期= 88×0.2422+22.83-88/4=44-22=22,7月22日大暑。例外:1922年的计算结果加1日。立秋日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21

7、世纪C=7.5,20世纪=8.35。举例说明:2088年立秋日期=88×0.2422+7.5-88/4=28-22=6,8月6日是立秋。例外:2002年的计算结果加1日。处暑日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=23.13,20世纪=23.95。举例说明:2088年处暑日期=88×0.2422+23.13-88/4=44-22=22,8月22日处暑。例外:无。白露日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=7.646,20世纪=8.44。举例说明:2088年白露日期=8

8、8×0.2422+7.646-88/4=28-22=6,9月6日是白露。例外:1927年的计算结果加1日。秋分日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=23.042,20世纪=23.822。举例说明:2088年秋分日期=8×.0.2422+23.042-88/4=44-22=22,9月22日是秋分。例外:1942年的计算结果加1日。寒露日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=8.318,20世纪=9.098。举例说明:2088年寒露日期=88×0.2422+8

9、.318-88/4=29-22=7,10月7日是寒露。例外:无。霜降日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=23.438,20世纪=24.218。举例说明:2088年霜降日期=88×0.2422+23.438-88/4=44-22=22,10月22日霜降。例外:2089年的计算结果加1日。立冬日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=7.438,20世纪=8.218。举例说明:2088年立冬日期=88×0.2422+7.438-88/4=28-22=6,11月6日是立冬

10、。例外:2089年的计算结果加1日。小雪日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=22.36,20世纪=23.08。举例说明:2088年小雪日期=88×0.2422+22.36-88/4=43-22=21,11月21日小雪。例外:1978年的计算结果加1日。大雪日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=7.18,20世纪=7.9。举例说明:2088年大雪日期=88×0.2422+7.18-88/4=28-22=6,12月6日大雪。例外:1954年的计算结果加1日。冬至日期

11、的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=21.94,20世纪=22.60。举例说明:2088年冬至日期=88×0.2422+21.94-88/4=43-22=21,12月21日冬至。例外:1918年和2021年的计算结果减1日。小寒日期的计算 Y*D+C-L公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=5.4055,20世纪=6.11。举例说明:1988年小寒日期=88×.0.2422+6.11-(88-1)/4=27-21=6,1月6日小寒。例外:1982年计算结果加1日,2019年减1日。大寒日期的

12、计算 Y*D+C-L公式解读:Y=年数的后2位,D=0.2422,L=闰年数,21世纪C=20.12,20世纪C=20.84。举例说明:2089年大寒日期=89×0.2422+20.12-(89-1)/4=41-22=19,1月19日大寒。例外:2082年的计算结果加1日,20世纪无。农历24节气算法/许剑伟/天星历算 (2012-06-17 18:41:46)转载标签: 八字命理 八字算命 天文 历法 星座农历24节气算法许剑伟  摘要 古老而又现代的中国农历,是一种天文学性质的阴阳历。本文采

13、用VSOP87星历算法并结合运动学方法以及牛顿求根法得到24节气的精确时间,揭开农历计算的神秘面纱。关键字 农历算法、星历、节气 正文 计算中国农历,首先要计算出二十四节气时刻。在计算机问世之前,二十四节气的许算是非常复杂的。随着计算机及互联网的普及,美国航空航天局、法国巴黎天文台各自在网络上发布了精密星历表的计算方法,这使得民间计算农历成为可能。本文以法国巴黎天文台的VSOP87算法为基础,给出中国农历的二十四节气算法。在农历中,太阳黄经为0度时,对应春风节气。相邻节气对应的太阳黄经相差15度。一周年内,太阳黄经从0度变化到360度,共有24个节气。一、时间标尺

14、儒略日数计算计算星历之前首先要解决时间尺问题。公历规定平年365日,闰年366日。1582年10月4日以前,公历规定每4年设置一个闰年,平均年长度365.25天,这期间的公历称为儒略历。在1582年10月15日之后实行格里高利历,规定每400年97闰,平均年长度为365.2425天。由于儒略历存在严重的“多闰”问题,到了1582年,公历跑快了10天左右,当时就人为调整了10天,并从此实行格里历。因此务必注意1582年10月4日(儒略历)的下一日为1582年10月15日(格里历)。就是说1582年10月份少了10天。在儒略历中,能被4整除的年份为闰年,这一年有366天,其它年份为平年(365天)

15、。 如900年和1236年为闰年,而750年和1429年为平年。格里高利历法也采用这一规则,但下列年份除外:不能被100整除的年份为平年,如1700年,1800年,1900年和2100年。其余能被400整除的年份则为闰年,如1600年,2000年和2400年。儒略日数(简称儒略日):儒略日数是指从公元 -4712 年开始连续计算日数得出的天数及不满一日的小数,通常记为 JD (*)。传统上儒略日的计数是从格林尼治平午,即世界时12点开始的。若以力学时(或历书时)为标尺,这种计数通常表达为“儒略历书日”,即JDE (*),其中E只是一种表征,即按每天86400个标准秒长严格地计日。例如:1977

16、年4月26.4日 UT = JD 2443259.91977年4月26.4日 TD = JDE 2443259.9儒略日的计算:设Y为给定年份,M为月份,D为该月日期(可以带小数)。若M > 2,Y和M不变,若 M =1或2,以Y1代Y,以M+12代M,换句话说,如果日期在1月或2月,则被看作是在前一年的13月或14月。对格里高利历有 :A = INT(Y/100) B = 2 - A + INT(A/4)对儒略历,取 B = 0儒略日即为:JD = INT(365.25(Y+4716)+INT(30.6001(M+1)+D+B-1524.5使用数值30.6取代30.6001才是正确的,

17、但我们仍使用30.6001,以确保总能取得恰当的整数。事实上可用30.601甚至30.61来取代30.6001。例如,5乘30.6精确等于153,然而大多数计算机不能精确表示出30.6,这导致得出一个152.999 9998的结果,它的整数部分为152,如此算出的JD就不正确了。由儒略日推算历日:将JD加上0.5,令 Z 为其整数部分,F 为尾数(小数)部分。若 Z < 2299161,取A = Z若 Z 大于等于2299 161,计算=INT(Z-1867216.25)/36524.25)A=Z+1+-INT(/4)然后计算B = A+1524C = INT(B-122.1)/365.

18、25)D = INT(365.25C)E = INT(B-D)/30.6001)该月日期(带小数部分)则为:d = B - D - INT(30.6001E) + F月份m为:IF E < 14 THEN m = E 1IF E=14 or E=15 THEN m = E 13年份为y:IF m>2 THEN y = C 4716IF m =1 or m=2 THEN y = C 4715这个公式里求E时用的数30.6001不能代之以30.6,哪怕计算机没有先前所说的问题。否则,你得到的结果会是2月0日而不是1月31日,或者4月0日而不是3月31日。值得记住的一个常数是:2000年

19、1月1日12:00:00的儒略日数是J2000 = 2451545二、力学时与世界时的差值(deltat T)计算一般的,可以把手表时(UTC)近似看作世界时(UT),二者的主要差别在于时区。如北京手表时8点对应世界时0点。世界时与地球自转严格同步,但有趣的是,我们的手表时实际上称为协调世界时,它的秒长是原子钟的秒长,由于地球自转速度不均匀,时快时慢,这就注定手表时与地球自转不完全同步。现在,地球自转速度正在变慢,我们不得不在某些年份的年末把手表拨慢1秒,使得手表时更好的与地球自转同步,并美言为“跳秒”。力学时是根据太阳系的动力学原理导出的,是一种均匀的时间系统,其秒长与原子钟的秒长相同。因此

20、,协调世界时(UTC)与世界时(记为UT)其本同步,但力学时(记作TD)与世界时不太同步,二者的差值记作deltat T或记作T。利用直接的天文观测可以得知每年的T,利用古代的日月食观测资料可以反推古代的T。所有年份的T计算出来后,可以拟合出以下多项式表达,使得T的计算更快捷,计算结果的单位是秒。我们利用下表可以严格计算T(即T =TD - UT)年份     a        b      c 

21、     d-4000,108371.7,-13036.80,392.000, 0.0000 -500, 17201.0,  -627.82, 16.170,-0.3413 -150, 12200.6,  -346.41,  5.403,-0.1593  150,  9113.8,  -328.13, -1.647, 0.0377  500,  5707.5,

22、0; -391.41,  0.915, 0.3145  900,  2203.4,  -283.45, 13.034,-0.1778 1300,   490.1,   -57.35,  2.085,-0.0072 1600,   120.0,    -9.81, -1.532, 0.1403 1700,  &

23、#160; 10.2,    -0.91,  0.510,-0.0370 1800,    13.4,    -0.72,  0.202,-0.0193 1830,     7.8,    -1.81,  0.416,-0.0247 1860,    

24、; 8.3,    -0.13, -0.406, 0.0292 1880,    -5.4,     0.32, -0.183, 0.0173 1900,    -2.3,     2.06,  0.169,-0.0135 1920,    21.2,  &#

25、160;  1.69, -0.304, 0.0167 1940,    24.2,     1.22, -0.064, 0.0031 1960,    33.2,     0.51,  0.231,-0.0109 1980,    51.0,     1.29

26、, -0.026, 0.0032 2000,    63.87,    0.1,   0,     0, 2005表中每一行适用一定的年代范围,如第1行适用于公元-4000年到-500年,第2行适用于公元-500到-1500年,其它类推。每行的起始年份记作Y1,终止年份记作Y2,如果年份y在Y1到Y2之间,那么该年的deltat T表达为:T = a + b*t1 + c*t2 + d*t3,单位是秒其中t1 = (

27、y-Y1)/(Y2-Y1)*10, t2 = t1*t1, t3 = t1*t1*t1对于2005年以后的deltat T是未知的,要做外推计算:2005至2014年建议使用1995到2005年期间T的平均增速计算,即:T = F(y) = 64.7 + (y-2005) * b, 其中速度 b = 0.42114年以后可以使用二次曲线外推T = f(y) = -20+ a * (y-1820)/1002 ,其中加速度a = 312114年到2014年之间的外推,可以在上面两个外推算式的基础上做一次的曲线连接,使之连续即可。比如可以这么计算:T  = f(y) + (y-2114)

28、* f(2014) F(2014) /100以下数值可供程序验证参考2008年T = 66.0秒1950年T = 29秒500年 T = 5710秒三、太阳视黄经(真分点视坐标)算法基于VSOP87半解析法。力学时t为J2000起算的儒略世纪数,t2 = t*t,t3 = t2*t,t4 = t3*tA、低精度算法L0(t) = 48950621.66 + 6283319653.318*t 弧度B、中精度算法  L1(t) =   48950621.66 + 6283319653.318*t + 53*t*t + 334116*cos( 4.67+628

29、.307585*t) + 2061*cos( 2.678+628.3076*t)*t / 10000000 弧度C、高精度算法L2(t) = 48950621.66 + 6283319653.318*t+ 52.9674*t2 + 0.00432*t3 - 0.001124*t4 +334166 * cos( 4.669257+  628.307585*t)   +3489 * cos( 4.6261  + 1256.61517*t )   + 350 * cos( 2.74

30、4   +  575.3385*t)   + 342 * cos( 2.829   +    0.3523*t)   + 314 * cos( 3.628   + 7771.3771*t)   + 268 * cos( 4.418   +  786.0419*t)   + 234 * co

31、s( 6.135   +  393.021*t )   + 132 * cos( 0.742   + 1150.677*t )   + 127 * cos( 2.037   +   52.9691*t)   + 120 * cos( 1.11    +  157.7344*t)  

32、0;+  99 * cos( 5.23    +  588.493*t )   +  90 * cos( 2.05    +    2.63*t  )   +  86 * cos( 3.51    +   39.815*t )  

33、 +  78 * cos( 1.18    +  522.369*t )   +  75 * cos( 2.53    +  550.755*t )   +  51 * cos( 4.58    + 1884.923*t )   +  49 * cos( 4.

34、21    +   77.552*t )   +  36 * cos( 2.92    +    0.07*t  )   +  32 * cos( 5.85    + 1179.063*t )   +  28 * cos( 1.9 

35、;    +   79.63*t  )   +  27 * cos( 0.31    + 1097.71*t  ) +2060.6 * cos( 2.67823 +  628.307585*t ) * t   +43.0 * cos( 2.635   + 1256.6152*t  

36、0;) * t   +8.72 * cos( 1.072   +  628.3076*t   ) * t2   -994 834 * sin(2.1824-33.75705*t)- 64 * sin(3.5069+1256.66393*t) / 10000000 弧度  最后两行分别为光行差和章动四、太阳黄经速度平速度:  v0 = 628.3319653318即时速度:v1 = 628.332 +21 * sin(

37、1.527+628.307585*t)速度的单位是“弧度/儒略世纪”即“弧度/36525天”注意,平速度比即时速度的精度要高得多,务必保留足够的有效数字,否则将带来严重的计算误差。五、节气时刻计算以上天体黄经时间的函数,即L = f(t),所谓的求节气时刻就是已知L求t,显然这是在求解一个关于t的方程。伟大的英国天文学家物理学家牛顿给出了一种非常有效的迭代算法:牛顿求根法。用这种方法,求t所花费的时间仅是求f(t)花费时间的1.21.3倍。设某个节气对应的黄经为W,那么算法如下。牛顿迭代算法设计:第1步迭代:t = 0第2步迭代:t = t + ( W L0(t) ) / v0第3步迭代:t = t + ( W L1(t) ) / v1(t)第4步迭代:t = t + ( W L2(t) ) / v1(t)误差:算法误差2分钟以内,实际找到的误差一般在30秒以内,平均15秒注意:W指的是太阳黄经。1999年春分对应W=0,以后每W每增加15度对应下一个节气。迭代的的结果是力学时,单位是儒略世纪数。最后结果还应转换为北京时间,即:JD = J2000 + t*36525 - T/86400 + 8/24最后使用“儒略日数转公历”所述方法得到节气的日期和时间。六、计算结果比较为了进行误差比较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论