发表一下我得出的一条公式,可以计算每一年的夏至的精确时间(太阳直射北回归线的北京时间

公元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://spaces.ac.cn/archives/5

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

如果您需要引用本文,请参考:

苏剑林. (Jul. 08, 2009). 《计算:每年夏至的精确时刻 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/5

@online{kexuefm-5,
        title={计算:每年夏至的精确时刻},
        author={苏剑林},
        year={2009},
        month={Jul},
        url={\url{https://spaces.ac.cn/archives/5}},
}