农历是怎么算出来的啊?

有公式或者精确的算法吗?
2024-12-02 21:41:36
推荐回答(5个)
回答1:

农历

农历的历月长度是以朔望月为准的,大月30天,小月29天,大月和小月相互弥补,使历月的平均长度接近朔望月。

农历固定地把朔的时刻所在日子作为月的第一天——初一日。所谓“朔”,从天文学上讲,它有一个确定的时刻,也就是月亮黄经和太阳黄经相同的那一瞬间。(太阳和月亮黄经的计算十分繁琐和复杂,这里就不予介绍了)

至于定农历日历中月份名称的根据,则是由“中气”来决定的。即以含“雨水”的月份为一月;以含“春分”的月份为二月;以含“谷雨”的月份为三月;以含“小满”的月份为四月;以含“夏至”的月份为五月;以含“大暑”的月份为六月;以含“处暑”的月份为七月;以含“秋分”的月份为八月;以含“霜降”的月份为九月;以含“小雪”的月份为十月;以含“冬至”的月份为十一月;以含“大雪”的月份为十二月。(没有包含中气的月份作为上月的闰月)

农历的历年长度是以回归年为准的,但一个回归年比12个朔望月的日数多,而比13个朔望月短,古代天文学家在编制农历时,为使一个月中任何一天都含有月相的意义,即初一是无月的夜晚,十五左右都是圆月,就以朔望月为主,同时兼顾季节时令,采用十九年七闰的方法:在农历十九年中,有十二个平年,为一平年十二个月;有七个闰年,每一闰年十三个月。

为什么采取“十九年七闰”的方法呢? 一个朔望月平均是29.5306日,一个回归年有12.368个朔望月,0.368小数部分的渐进分数是1/2 、1/3 、3/8 、4/11 、7/19 、46/125, 即每二年加一个闰月,或每三年加一个闰月,或每八年加三个闰月……经过推算,十九年加七个闰月比较合适。因为十九个回归年=6939.6018日,而十九个农历年(加七个闰月后)共有235个朔望月,等于6939.6910日,这样二者就差不多了。

七个闰月安插到十九年当中,其安插方法可是有讲究的。农历闰月的安插,自古以来完全是人为的规定,历代对闰月的安插也不尽相同。秦代以前,曾把闰月放在一年的末尾,叫做“十三月”。汉初把闰月放在九月之后,叫做“后九月”。到了汉武帝太初元年,又把闰月分插在一年中的各月。以后又规定“不包含中气的月份作为前一个月的闰月”,直到现在仍沿用这个规定。

为什么有的月份会没有中气呢? 节气与节气或中气与中气相隔时间平均是30.4368日(即一回归年排65.2422日平分12等分),而一个朔望月平均是29.5306日,所以节气或中气在农历的月份中的日期逐月推移迟,到一定时候,中气不在月中,而移到月末,下一个中气移到另一个月的月初,这样中间这个月就没有中气,而只剩一个节气了。

上面讲过,古人在编制农历时,以十二个中气作为十二个月的标志,即雨水是正月的标志,春分是二月的标志,谷雨是三月的标志……把没有中气的月份作为闰月就使得历月名称与中气一一对应起来,从而保持了原有中气的标志。

从十九年七闰来说,在十九个回归年中有228个节气和228个中气, 而农历十九年有235个朔望月,显然有七个月没有节气和七个月没有中气,这样把没有中气的月份定为闰月,也就很自然了。

农历月的大小很不规则,有时连续两个、三个、四个大月或连续两个三个小月,历年的长短也不一样,而且差距很大。节气和中气,在农历里的分布日期很不稳定,而且日期变动的范围很大。这样看来,农历似乎显得十分复杂。其实。农历还是有一定循环规律的:由于十九个回归年的日数与十九个农历年的日数差不多相等,就使农历每隔十九年差不多是相同的。每隔十九年,农历相同月份的每月初一日的阳历日一般相同或者相差一、二天。每隔十九年,节气和中气日期大体上是重复的,个别的相差一、两天。相隔十九年闰月的月份重复或者相差一个月。

回答2:

农历是我国采用的一种传统历法,又名夏历、中历、旧历,民间也有称阴历的。它用严格的朔望周期来定月,又用设置闰月的办法使年的平均长度与回归年相近,兼有阴历月和阳历年的性质,因此在实质上是一种阴阳合历。农历把日月合朔(太阳和月亮的黄经相等)的日期作为月首,即初一。朔望月的平均长度约为29.53059日,所以有的月份是30日。称月大;有的月份是29日,称月小。月初所在的日期,按太阳和月亮的位置推算定,不机械地安排。农历以12个月为一年,共354日或355日,与回归年相差11日。为此,通过每十九年安插七个闰月的办法回以协调。闰月的安排由二十四节气来决定。

农历相传起源我国夏代。

其科学性、实用性都很强,因此流传至今。农历按照全年的自然日划分为四季、二十四节气和年节。

农历的二十四节气包括:春季的立春、雨水、惊蛮、春分、清明、谷雨;夏季的立夏、小满、芒种、夏至、小暑、大暑;秋季的立秋、处暑、白露、秋分、寒露、霜降;冬季的立冬、小雪、大雪、冬至、小寒、大寒。

此外,全年中的月份按照月相变化周期而设置。即大月30天,小月29天。农历每月的初一称为“朔”,每月的十五称为“望”。在“朔”日,月球运行到太阳与地球之间,暗影对着地球,而与太阳同时出没,于是人们看不到月亮。在“望”日,地球运行到了太阳与月球中间,太阳从西方落下,月亮从东方升起,因而能看到满月。

由于农历一年约为355日,与地球年相差约11日左右,所以每3年要置一闰月,每19年要置7个闰月。有闰月的年份也叫闰年,具体闰哪个月,则要视节气情况灵活而定。

农历既依据地球回归年所用时间,又依据月相变化而指定,而且以身边的气象与物候条件、农事活动为参照,实用性强,因而成为四季分明,便于记忆的历法。在我国,农历历法尤其适用于中原的广大地区。

回答3:

  
农历
的年、月、日是按照公式计算而来的,不像西历时强行规定哪月是
大月
,哪月是
小月
。要计算
大小月
、平
闰年

闰月
放在什么位置,都要按照公式来。下面我们来给出计算的公式。
  年份的计算
  1
由西元年份推算天干地支:
  农历年份数减3,除以
10
的余数是
天干
,除以12
的余数是地支。
  例如:
  (2010
-
3)
mod
10
=
7,所以天干是“庚”
  (2010
-
3)
mod
12
=
3,所以地支是“寅”。
  2.积日的计算(用于月份的计算):
  当年的
1月
0日换算为积日,可以用年份减去1900得到的
年数
被4整除,所得商数作为
y(D4),余数作为y(M4),y(M4)为零的年份是
公历
闰年,积日是
  D(1)
=
1461
*
y(D4)
-
1
  y(M4)不为零的年份是公历
平年
,积日是
  D(1)
=
1461
*
y(D4)
+
365
*
y(M4)
  月份的确定
  计算前一年冬至的积日F(0),并用F(0)计算冬至所在的朔月m及其
朔日
M(0),就可以推算冬至的农历
日期
,冬至所在的农历月份总是
十一月
。计算下一个
中气
F(1)和下一个朔日M(1),如果F(1)  朔日的计算
  从
1900年
开始的第m个朔日的公式是
  M
=
1.6
+
29.5306
*
m
+
0.4
*
sin(1
-
0.45058
*
m)
  这个公式的误差在0.2天左右。
  节气的计算
  先给节气进行编号,从
近日点
开始的第一个节气编为0,编号如下及其相应的月份如下:
  0
小寒腊月
6
清明三月
12
小暑六月
18
寒露九月
  1.大寒腊月
7
谷雨三月
13
大暑六月
19
霜降九月
  2.立春正月
8
立夏四月
14
立秋七月
20
立冬十月
  3.雨水正月
9
小满四月
15
处暑七月
21
小雪十月
  4.惊蛰二月
10
芒种五月
16
白露八月
22
大雪冬月
  5.春分二月
11
夏至五月
17
秋分八月
23
冬至冬月
  把当天和1900年1月0日(星期日)的差称为积日,那么第y年(1900年算第0年)第x
个节气的积日是
  F
=
365.242
*
y
+
6.2
+
15.22
*
x
-
1.9
*
sin(0.262
*
x)
  这个公式的误差在0.05天左右。

回答4:

完全可以,这个网站就可以自动算

http://www.8s8s.com/date.php

回答5: