计算:每年夏至的精确时刻
By 苏剑林 | 2009-07-08 | 25471位读者 |发表一下我得出的一条公式,可以计算每一年的夏至的精确时间(太阳直射北回归线的北京时间)
公元Y年的夏至日期为该年的6月
$$21.9938+0.2422Y-\lfloor Y/4 \rfloor-\lfloor Y/400 \rfloor+\lfloor Y/100 \rfloor$$
其中$\lfloor x \rfloor$表示整数部分。
理论上该公式可以精确到分(min),时间为北京时间。
理论依据:
1、2009.06.21 13:46为夏至
2、一年有365.2422天
3、阳历历法法则。
实际验算:
由该公式推算2008年6月21日7:57.2分为夏至,而查阅相关资料得到的数据为2008年6月21日7:58分
推算过程:
21日13:46,即为21.573611天,以此为基础,由于一年有365.2422天,2008年的夏至为21.331411天。那么一般地,Y年的夏至为$21.331411+0.2422(Y-2008)$天。
当4年后就有一个闰年,闰年一年有366天,因此,每4年就要减去一天,即Y年就要减去$\lfloor {Y-2008}/4 \rfloor$天。
于是有公式
$$21.331411+0.2422(Y-2008)-\lfloor {Y-2008}/4 \rfloor$$
但是并非这样就完了,末尾两个数是0的年份,要除以400才是闰年,因此,当Y-2000超过400时,我们又算多了。
因此我们要加入两个项:
$$\lfloor {Y-2000}/100 \rfloor-\lfloor {Y-2000}/400 \rfloor$$
这样总的公式就为
$$21.331411+0.2422(Y-2008)-\lfloor {Y-2008}/4 \rfloor+\lfloor {Y-2000}/100 \rfloor-\lfloor {Y-2000}/400 \rfloor$$
这条公式用着不是很方便。我们可以化简成为开始的公式。
提高原来数据的精确度可以进一步提供公式的精确度。
转载到请包括本文地址:https://kexue.fm/archives/5
更详细的转载事宜请参考:《科学空间FAQ》
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!
如果您需要引用本文,请参考:
苏剑林. (Jul. 08, 2009). 《计算:每年夏至的精确时刻 》[Blog post]. Retrieved from https://kexue.fm/archives/5
@online{kexuefm-5,
title={计算:每年夏至的精确时刻},
author={苏剑林},
year={2009},
month={Jul},
url={\url{https://kexue.fm/archives/5}},
}
最近评论