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

简介: 原文:夏至日计算公式及“三伏”的日期算法问题 今天是6月21日,农历夏至日,这一天为一年中白天最长,晚上最短。夏至日为二十四节气中最早确定下来的农历节气,为每年公历的6月20日、21、22日中的一天。
原文: 夏至日计算公式及“三伏”的日期算法问题

今天是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日,除正常中伏外,还有一个闰中伏,所以今年的三伏有四十天。

目录
相关文章
|
1月前
|
机器学习/深度学习 算法
递归算法题练习(数的计算、带备忘录的递归、计算函数值)
递归算法题练习(数的计算、带备忘录的递归、计算函数值)
|
1月前
|
算法 Java
算法:Java计算二叉树从根节点到叶子结点的最大路径和
算法:Java计算二叉树从根节点到叶子结点的最大路径和
|
3月前
|
算法 搜索推荐 图计算
图计算中的社区发现算法是什么?请解释其作用和常用算法。
图计算中的社区发现算法是什么?请解释其作用和常用算法。
24 0
|
4月前
|
搜索推荐 算法 测试技术
C++归并排序算法的应用:计算右侧小于当前元素的个数
C++归并排序算法的应用:计算右侧小于当前元素的个数
|
3月前
|
算法
bellman_ford算法与dijkstra为什么dijkstra算法不能计算带有负权边图
bellman_ford算法与dijkstra为什么dijkstra算法不能计算带有负权边图
22 0
|
3月前
|
算法 定位技术 Python
地图权重计算(算法题)
地图权重计算(算法题)
22 0
|
3月前
|
算法 搜索推荐 数据挖掘
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
33 0
|
3月前
|
算法 搜索推荐 Java
图计算中的PageRank算法是什么?请解释其作用和计算原理。
图计算中的PageRank算法是什么?请解释其作用和计算原理。
20 0
|
3月前
|
算法 搜索推荐 Java
图计算中的图剪枝算法是什么?请解释其作用和常用方法。
图计算中的图剪枝算法是什么?请解释其作用和常用方法。
14 0
|
3月前
|
机器学习/深度学习 存储 算法
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
34 0