原文作者:阮一峰

点击查看原文

正文


新春期间,我忍不住又想到了一个老问题:

为什么每年春节的日期都不一样?

从2007年到2010年,春节的日期分别为2月18日、2月7日、1月26日、2月14日和2月3日。为什么会这样?到底是怎么计算的?

我看了一些资料,下面就是我整理的关于历法知识的笔记。完全根据我自己的理解来写,说得不对的地方,欢迎指正。

1. 什么是公历?

公历又称阳历,是全世界目前通行的历法,以地球绕行太阳一圈作为一年。我国从1911年辛亥革命后,开始采用公历。

2. 什么是闰年?

闰年是为了解决公历年与太阳年之间的差异,而做出的安排。

地球公转一圈的准确时间是365天5小时48分46秒(365.242199174天),而公历年一年只有365天,所以每年会多出5小时48分46秒,每4年就会多出23小时15分4秒,约为1天。因此,公历规定,凡是能够被4整除的年份,该年就增加一天(2月29日)。这就是闰年的来历。

但是这样一来,时间还是不对,每4年多了一天以后,会比公转周期提前44分56秒。这就是说每400年就会比公转周期提前3天,因此每400年中需要少闰3次。所以公历又规定,凡是尾数为00的年份,只有能被400整除的才是闰年,否则就不算。比如1600年和2000年都是闰年,但是1700年、1800年、1900年都不是闰年。

但是,即使这样计算,每400年中,公历仍然要比公转周期快出2小时50分20秒,因此大概每过3000多年,公历还要再减少1天。

3. 什么是农历?

农历是中国古代的历法,同时考虑太阳和月亮的位置,来确定日期。因此,从性质上说,农历是阳历和阴历的结合,属于阴阳历。

4. 农历的一年如何确定?

在农历中,月亮围绕地球旋转一圈,就被算做一个月。从地球上观察,一个月就代表月亮盈亏的一个周期。农历规定,新月出现的那天就是每个月的初一,满月出现的那天就是每个月的十五。

月亮围绕地球旋转一圈的准确时间是29天12小时14分3秒(29.5306天)。因此,在农历中,一个月可能是29天(小月),也可能是30天(大月)。农历规定,月亮每盈亏12次,就算为一年。

这里需要注意的是,大月和小月不一定间隔出现,有可能几个大月连在一切,也有可能几个小月连在一起,一切要根据月亮的盈亏时间而定。

5. 什么是闰月?

闰月是为了解决地球公转周期与农历之间的差异,而做出的安排。

按照农历,大月为30天、小月为29天,全年12个月,一年仅有354天,比公历要少11天。这就是说,农历中的日期,在每一个公历年中,都会比上一年提前11天。

为了保证每年的正月是在冬季,所以农历规定,每过3年左右,就多设置一个月,与公历周期保持稳定,这就是闰月。

更精确的描述是"十九年七闰",即19年中设置7个闰月,这样一来,农历与公历的周期就基本一致了。

6. 什么是节气?

节气是中国古代为了测定季节,所设立的一种历法标志,配合农历使用。

根据日晷,我们的祖先将每年日影最长的一天定为"冬至",日影最短的一天定为"夏至"。在春秋两季中,各有一天的昼夜时间长短相等,便分别定为"春分"和"秋分"。然后以这几个日期为基准,再定出其他的节气,合称24节气。

从天文学上看,地球公转一周是360度,因此地球每前进15度,就是一个节气。我们现在知道,冬至和夏至分别是太阳直射南北回归线,春分和秋分是太阳直射赤道。

一年有12个月,因此每个月有两个节气。前面一个称为"节",后面一个称为"中",两者相差15天左右。所以,24节气又分为12节气和12中气。

前面说过,农历年比公历年少11天。因此,节气作为一种太阳位置的标志,在农历年中,每年都会比前一年晚11天。比如,2007年清明节是农历2月18日,2008年清明节是农历2月28日,2009年清明节是农历3月9日,每年都相差11天左右。如果前面一个节气在农历15号之后出现,那么后面一个中气就排不进这个月,所以农历中经常出现没有中气的月份。

7. 闰月是如何确定的?

闰年的设置方法,以每年的冬至为计算基准。一般来说,两个冬至之间应该有11次月亮的盈亏(不考虑两个冬至本身所在的月),但是由于农历年比公历年少11天,所以有可能出现两个冬至之间有12次月亮的盈亏。如果发生这种情况,则从冬至开始的这一年中,将加入一个闰月。

具体规则是,从"冬至"开始,当出现第一个没有"中气"的月份时,这个月份就是闰月,其名称是在前个月的前面加一个"闰"字。

8. 春节是如何确定的?

春节的日期是根据每年的冬至计算的。

农历规定,冬至必须在农历11月。所以,冬至最早可能是农历11月初一,最晚可能是11月三十。由于在公历中,冬至一般是12月21日或12月22日,而冬至与春节之间最短相差30天,最长相差60天。所以,春节最早是1月20日,最晚是2月20日。


(完)

转载于:https://www.cnblogs.com/cxbblog/p/4244428.html

转载:公历,农历相关的历法知识相关推荐

  1. [原创]自定义公历农历日期选择器

    公历农历日期选择器 项目地址:https://github.com/Carbs0126/GregorianLunarCalendar android自带的DatePicker具有日期选择的功能,但是由 ...

  2. 公历农历显示节日节气星期等万年历

    先看效果,如果当日有二十四节气,或者特殊的节日(公历和农历都行),会显示出来 这里是日期处理类 public class ChineseCalendar{#region ChineseCalendar ...

  3. 分享一个自己写的取中国农历相关数据的类。包含:农历年月日,生肖,星座,年龄,天干,地支等方法...

    分享一个自己写的取中国农历相关数据的类.包含:农历年月日,生肖,星座,年龄,天干,地支等方法.此类自己花了一上午的时间写的,适用于像相亲网等类似的网站 主要使用了微软针对东亚地区的农历类Chinese ...

  4. Osmocom-BB 相关资源、知识分享

    Osmocom-BB 相关资源.知识分享 1.在layer1层添加了解析sniffer的代码 参考http://git.osmocom.org/osmocom-bb/log/?h=luca/gsmma ...

  5. PHP汉字拼音转换和公历农历转换(代码家园)

    本文整理了PHP汉字拼音转换和公历农历转换两个功能类文件,非常实用.比如我们查找通讯录可以通过联系人姓名的拼音首字母来查询,可以通过首字母来导航大数据量,可以通过转换拼音来做网站优化等.公农历转化一般 ...

  6. 【初学】部署架构相关的一些知识

    部署架构相关的一些知识 集群 Nginx 分布式 热备 中间件 集群 集群,这里指服务器集群,是指多个服务器完成同样的功能,在客户端看来就只有一个服务器.起初系统比较简单的时侯,一个服务器足以完成所有 ...

  7. php转字,PHP汉字拼音转换和公历农历转换

    1.PHP汉字转拼音 Pinyin.class.php类文件可以将大多数汉字转换成汉语拼音,当然也有个别生僻字不能转换,如果你想转换所有的汉字拼音的话,可能需要再配合一个汉字字库来实现,使用该类文件就 ...

  8. 与EEG信号的相关的基础知识以及运动想象信号的生理活动

    与EEG信号的相关的基础知识 EEG信号基础 1.1 EEG信号记录技术 a.侵入式(Invasive) b.半侵入式(Semi-invasive) c.非侵入式(Non-invasive) a.空间 ...

  9. Redis第一讲:相关的基础知识/数据类型/缓存的过期策略/双写一致性/内存存储和持久化

    Redis第一讲:相关的基础知识 摘要:本文是Redis(6.2.1)详解的第一讲,介绍Redis相关的基础知识,内存存储和持久化,Redis作缓存使用时的注意要点,常见的数据类型,缓存的过期策略,R ...

最新文章

  1. Linux系统如何安装AutoFs挂载服务
  2. Jquery 复选框全选与反选点击执行一次然后失效解决方案
  3. 算法优化:最大字段和,双指针遍历(n^2),分治法(nlogn),动态规划(n)
  4. 民生银行场景化数据中台是如何炼成的?
  5. C++Primer学习笔记:第3章 字符串、向量和数组
  6. 实用常识 | HTML嵌入处理MARKDOWN合并单元格
  7. 计算机复试上机辅导班,软件工程考研辅导班:考研院校2020年计算机/软件工程复试经验总结...
  8. 数据结构之二叉树的创建
  9. cad插件制作教程_CAD电子签名制作教程
  10. Python标准库中的zipfile
  11. 读书笔记--云边有个小卖部
  12. bzoj3196 二逼平衡树——线段树套平衡树
  13. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_3_方法引用_通过类名引用静态成员...
  14. UIView延迟效果做出动画/UIView动画块
  15. 5、最长回文子串(python)
  16. 敏捷-《如何准备ACP考试》知识图谱
  17. 计算机主机安装图,最新版本:计算机主机插件安装图_布法罗计算机主板安装图...
  18. 互联网快讯:中国石化与隆基达成战略合作;极米多款投影产品持续热销;百度网盘青春版正式上线
  19. 新手必看,13个信号可判断庄家进驻!
  20. 2010计算机上机考试试题,WORD2010上机操作练习题

热门文章

  1. springboot反射执行private方法@Autowired字段为空
  2. 家庭宽带怎么接电视,接电脑,接无线路由器轻松搞定不求人
  3. JLU吉林大学2022-2023年度第1学期软件学院《计算机网络》真题回顾(2020级)
  4. html 转义 中文,HTML基础之JS中的字符转义--转义中文或特殊字符
  5. GetBuffer--ReleaseBuffer问题
  6. 汽车雨刮故障维修要点
  7. python实现特征值分解与奇异值分解
  8. 让车载系统与外部系统无缝对接——掌握SOA跨系统通信技术
  9. Go语言开发小技巧易错点100例(七)
  10. 韦东山的数码相框-free type库