转载:公历,农历相关的历法知识
原文作者:阮一峰
点击查看原文
正文
新春期间,我忍不住又想到了一个老问题:
为什么每年春节的日期都不一样?
从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
转载:公历,农历相关的历法知识相关推荐
- [原创]自定义公历农历日期选择器
公历农历日期选择器 项目地址:https://github.com/Carbs0126/GregorianLunarCalendar android自带的DatePicker具有日期选择的功能,但是由 ...
- 公历农历显示节日节气星期等万年历
先看效果,如果当日有二十四节气,或者特殊的节日(公历和农历都行),会显示出来 这里是日期处理类 public class ChineseCalendar{#region ChineseCalendar ...
- 分享一个自己写的取中国农历相关数据的类。包含:农历年月日,生肖,星座,年龄,天干,地支等方法...
分享一个自己写的取中国农历相关数据的类.包含:农历年月日,生肖,星座,年龄,天干,地支等方法.此类自己花了一上午的时间写的,适用于像相亲网等类似的网站 主要使用了微软针对东亚地区的农历类Chinese ...
- Osmocom-BB 相关资源、知识分享
Osmocom-BB 相关资源.知识分享 1.在layer1层添加了解析sniffer的代码 参考http://git.osmocom.org/osmocom-bb/log/?h=luca/gsmma ...
- PHP汉字拼音转换和公历农历转换(代码家园)
本文整理了PHP汉字拼音转换和公历农历转换两个功能类文件,非常实用.比如我们查找通讯录可以通过联系人姓名的拼音首字母来查询,可以通过首字母来导航大数据量,可以通过转换拼音来做网站优化等.公农历转化一般 ...
- 【初学】部署架构相关的一些知识
部署架构相关的一些知识 集群 Nginx 分布式 热备 中间件 集群 集群,这里指服务器集群,是指多个服务器完成同样的功能,在客户端看来就只有一个服务器.起初系统比较简单的时侯,一个服务器足以完成所有 ...
- php转字,PHP汉字拼音转换和公历农历转换
1.PHP汉字转拼音 Pinyin.class.php类文件可以将大多数汉字转换成汉语拼音,当然也有个别生僻字不能转换,如果你想转换所有的汉字拼音的话,可能需要再配合一个汉字字库来实现,使用该类文件就 ...
- 与EEG信号的相关的基础知识以及运动想象信号的生理活动
与EEG信号的相关的基础知识 EEG信号基础 1.1 EEG信号记录技术 a.侵入式(Invasive) b.半侵入式(Semi-invasive) c.非侵入式(Non-invasive) a.空间 ...
- Redis第一讲:相关的基础知识/数据类型/缓存的过期策略/双写一致性/内存存储和持久化
Redis第一讲:相关的基础知识 摘要:本文是Redis(6.2.1)详解的第一讲,介绍Redis相关的基础知识,内存存储和持久化,Redis作缓存使用时的注意要点,常见的数据类型,缓存的过期策略,R ...
最新文章
- Linux系统如何安装AutoFs挂载服务
- Jquery 复选框全选与反选点击执行一次然后失效解决方案
- 算法优化:最大字段和,双指针遍历(n^2),分治法(nlogn),动态规划(n)
- 民生银行场景化数据中台是如何炼成的?
- C++Primer学习笔记:第3章 字符串、向量和数组
- 实用常识 | HTML嵌入处理MARKDOWN合并单元格
- 计算机复试上机辅导班,软件工程考研辅导班:考研院校2020年计算机/软件工程复试经验总结...
- 数据结构之二叉树的创建
- cad插件制作教程_CAD电子签名制作教程
- Python标准库中的zipfile
- 读书笔记--云边有个小卖部
- bzoj3196 二逼平衡树——线段树套平衡树
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_3_方法引用_通过类名引用静态成员...
- UIView延迟效果做出动画/UIView动画块
- 5、最长回文子串(python)
- 敏捷-《如何准备ACP考试》知识图谱
- 计算机主机安装图,最新版本:计算机主机插件安装图_布法罗计算机主板安装图...
- 互联网快讯:中国石化与隆基达成战略合作;极米多款投影产品持续热销;百度网盘青春版正式上线
- 新手必看,13个信号可判断庄家进驻!
- 2010计算机上机考试试题,WORD2010上机操作练习题