首页 > 编程语言 >夏至日计算公式及“三伏”的日期算法问题

夏至日计算公式及“三伏”的日期算法问题

时间:2023-02-27 12:31:25浏览次数:42  
标签:20 INT 庚日 中伏 三伏 计算公式 夏至


今天是6月21日,农历夏至日,这一天为一年中白天最长,晚上最短。

夏至日为二十四节气中最早确定下来的农历节气,为每年公历的6月20日、21、22日中的一天。用程序如何快速计算出来呢?

算法公式:

INT(Y * D + C) - L, 为简化记忆,使用:[Y * D + C] - L

其中:Y=年数后2位,D=0.2422,L=闰年数;

C:21世纪C=21.37,20世纪=22.20。

[Y * D + C] 为取整数

闰年数L=INT(Y/4)。
这里:INT为取整数函数

举例说明:

今年是2017年,夏至日期 = [17 * 0.2422 + 21.37] - [17 / 4] =INT(25.4874) + INT(4.25) = 25 - 4 = 21

2088年夏至日期=[88 × 0.2422 + 21.37] - [88 / 4] = 42 - 22 = 20,那么2088年,公历6月20日为夏至。


三伏的日期算法:

“三伏(Dog Day)”是初伏、中伏和末伏的统称,是一年中最热的时节。每年出现在阳历7月中旬到8月中旬。其气候特点是气温高、气压低、湿度大、风速小。“伏”表示阴气受阳气所迫藏伏地下。

按我国阴历(农历)气候规律,前人早有规定:“夏至后第三个庚日开始为头伏(初伏),第四个庚日为中伏(二伏),立秋后第一个庚日为末伏(三伏),头伏和末伏各十天,中伏十天或二十天,“三伏”共三十天或四十天。

今年的头伏是7月13日,除正常中伏外,还有一个闰中伏,所以今年的三伏有四十天。

标签:20,INT,庚日,中伏,三伏,计算公式,夏至
From: https://blog.51cto.com/u_15983015/6088286

相关文章