今天是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