当前位置:首页 > 编程笔记 > 正文
已解决

历法、节日、节气

来自网友在路上 167867提问 提问时间:2023-11-06 14:37:52阅读次数: 67

最佳答案 问答题库678位专家为你答疑解惑

目录

一,阳历、阴历、公历、农历

1,阳历、阴历

2,公历,农历

二,双历合并

1,组成要素

2,一年

3,一月

4,一日

三,闰法则

1,闰秒

2,闰分

3,闰时

4,闰日、闰日年

5,闰月、闰月年

6,闰法则总结

四,年月日时分秒总结

1,日和公历年

2,秒

3,分、时

4,农历月

5,公历月

6,农历年

五,节假日

1,元旦、春节

2,清明、端午、中秋

3,劳动节、国庆节

六,节气

七,OJ实战

OpenJ_Bailian 2733 判断闰年


一,阳历、阴历、公历、农历

1,阳历、阴历

阳历主要参考地球和太阳之间的关系,阴历主要参考地球和月亮之间的关系。

2,公历,农历

很多人以为公历和阳历是一个意思,农历和阴历是一个意思。

其实,阳历阴历都是泛指,公历农历都是特指。

公历是一种阳历,世界上还有其他的公历。公历的作用是,让全世界对任意一天都有统一的描述方法,所以没啥技术含量。

农历是一种阴阳历,因为农历是用来指导农作的,而太阳和月亮都对农作物有很大的影响,所以有很高的技术含量,既是阳历也是阴历。

二,双历合并

中国古代发明并使用农历,这是非常强大的一个历法,对于农作指导有很强的意义,这是我们的文化瑰宝(不光是人文,还有很高的科技含量)。

但是又要和世界沟通,所以从20世纪开始引入公历,我们同时使用公历和农历。

那么,该如何合并呢?

1,组成要素

公历和农历都有3个基本尺度,年,月,日。

一年就是从最冷的时候到最冷的时候,一月是月亮最亮的时候到下一次最亮的时候,一日是太阳最亮的时候到下一次最亮的时候。

这个说法虽然不严谨,但却是客观的,也是幼儿园小朋友可以理解的一个简单定义。

所以,无论是很强的农历,还是很简单的公历,组成要素是基本一致的。

实际上:

一年是地球绕太阳一周,公历完全符合,农历的一年稍有区别,

一月是月亮绕地球一周,农历完全符合,公历的一月稍有区别,

一天是地球自转一周,公历和农历都完全符合。

2,一年

引入公历的同时,我们采用公元纪年,公元元年的含义是***,懂的都懂,和农历、和我国可以说没有半毛钱关系。

但是既然公历一年和农历一年是差不多的,所以纪年法也统一了,都用公元纪年。

同时为了方便,公历的2023年1月1日,和农历的1月1日不能相隔太多,而这就需要下文的“闰月法则”。

3,一月

因为1年大约是12个月,1年大约是365天,这2个数值关系也是客观的,所以公历可以简单粗暴的规定1年就等于12个月。

理论上,365天应该分成5个31天和7个30天,而且可以规定1-5月是31天,6-12月是30天,为什么实际上搞这么复杂呢?

这和盖维斯·屋大维·奥古斯都有关,这里就不发散了。

因为实际上1年比12个月要多几天,所以一般公历的一个月都比农历的一个月要长。

而为了保持公历年和农历年的相对同步,农历一年要么是12个月,要么是13个月,参考下文的“闰月法则”。

4,一日

铯-133原子基态的两个超精细结构能级之间跃迁相对应辐射周期的9192631770倍所持续的时间定义为一秒。1分钟等于60秒,1小时等于60分钟。

辐射周期的时间可以理解为绝对客观,是个不变的定值,和太阳、地球、月亮都无关,而用9192631770这个数值是为了保证1日大约等于86400秒,即24小时。

1日是地球自转一周,也是一个客观的时间。

实际上1日和86400秒是有偏差的,参考下文的“闰秒法则”

三,闰法则

1,闰秒

实际上1日比86400秒略大一点,如果放任不管,“日积日累”之后,总误差会很大。

所以每隔一段时间,误差接近1秒,就需要闰秒。

最近一次闰秒在北京时间2017年1月1日7时59分59秒和8时0分0秒之间,在原本相邻的2秒之间插入了一个闰秒。

2,闰分

因为经常闰秒对人类生活造成了麻烦,科学家和政府讨论决定,废除闰秒,改成闰分。

把闰秒的周期拉长60倍,把容忍最大误差改成1分钟,在误差接近1分钟时,实行闰分。

具体规则大概形如:在7时59分和8时0分之间,在原本相邻的2分之间,插入一个闰分。

改成闰分的好处就是,闰的频率下降了60倍。

3,闰时

也有人提议不采用闰分,直接采用闰时,这样,闰的频率将再度下降24倍。

目前应该还没有采用,所以闰秒、闰分、闰时是一个三选一的关系,不会同时存在于一套规则中。

4,闰日、闰日年

1年约为365.2422日,而公历采用1年365日,所以存在误差。

大约每4年,误差累积就会达到1日,所以大约每 4年就有1个闰日年,这一年实行闰日,即2月有29天,非闰日年有28天。

闰日年简称闰年,但是其中的闰规则指的是闰日。

详细规则:

能被4整除的是闰年,但能被100整除的不是闰年,但能被400整除的是闰年, 但能被3200整除的不是闰年,所以每3200年有800-32+8-1=775个闰年。

而0.2422*3200=775.04

5,闰月、闰月年

为了保持公历年和农历年的相对同步,农历一年要么是12个月,要么是13个月。

在农历十九年中,有十二个平年,为一平年十二个月;有七个闰月年,每一闰月年十三个月。

也就是说,一公历年/一农历月 大约是235/19

6,闰法则总结

闰法则的作用是调整不同时间单位之间的比例不是整数的问题,理论上每个闰法则都是正闰和负闰,但根据目前人类采用的数值,只需要正闰法则。

四,年月日时分秒总结

现在,我们可以把这个世界上的每一秒,都盘点清楚了。让我们从头捋一遍!

1,日和公历年

1日是地球自转一周的平均时间,1公历年是地球公转一周的平均时间,这2个时间是客观的固定值。

某种程度上,可以说这2个是仅有的有实际客观意义的时间单位。

解决日和公历年之间的非整数倍问题,需要闰日法则。

2,秒

1秒是铯-133原子基态的两个超精细结构能级之间跃迁相对应辐射周期的9192631770倍,

其中辐射周期的时间客观的固定值,而用9192631770这个数值是为了保证1日大约等于86400秒。

3,分、时

1分等于60秒,1小时等于60分,这是为了方便凭空创造的单位,没有误差。

因为1日大约等于86400秒,所以1日大约等于24小时。

秒、分、时是三位一体的,日和秒分时之间的非整数倍问题,需要闰法则,闰秒闰分闰时三选一。

4,农历月

农历1月是月亮公转一周的平均时间。

因为每个农历月的天数并不固定,所以不需要解决非整数倍问题。

5,公历月

公历月仅仅只是把每个公历年分成12份而已。

6,农历年

因为每个农历年的天数并不固定,所以不需要解决非整数倍问题。

而每个农历年都是由12个或13个农历月组成,需要闰月法则。

至此,年月日时分秒就全部清清楚楚了。

五,节假日

每年有7个节假日,一共11天假。

1,元旦、春节

本来只有1个节日的,自从同时引入公历之后,把传统节日元旦一分为二,一个是公历1月1日元旦,一个是农历1月1日春节。

元旦1天假,春节3天假(春节和后面2天)。

2,清明、端午、中秋

这3个是传统节日,分别是清明节气当日、农历端午当日、农历中秋当日。

3个都是1天假。

3,劳动节、国庆节

这2个公历节日,不是传统节日,分别是5月1日、10月1日。

劳动节1天假,国庆节3天假(国庆和后面2天)。

六,节气

现行的“二十四节气”来自于三百多年前(1645年起沿用至今)订立的根据太阳在回归黄道上的位置来确定节气的方法,即在一个为360度圆周的“黄道”(一年当中太阳在天球上的视路径)上,划分为24等份,每15°为1等份。

七,OJ实战

OpenJ_Bailian 2733 判断闰年

题目:

Description

判断某年是否是闰年。
Input

输入只有一行,包含一个整数a(0 < a < 3000)
Output

一行,如果公元a年是闰年输出Y,否则输出N
Sample Input

2006
Sample Output

N
Hint

公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年, 能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。

代码:

#include<iostream>
using namespace std;char f(int n)
{if (n % 4)return 'N';if (n % 100)return 'Y';if (n % 400)return 'N';//if (n % 3200)return 'Y';//return 'N';
}int main()
{int a;cin >> a;cout << f(a) << endl;return 0;
}
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"历法、节日、节气":http://eshow365.cn/6-33704-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!