农历算法贪狼木星

1、我国的农历是一种阴阳历1912年以前用。

2、我国的农历强调逐年逐月推算。通过逐月推算后才知道某年某月是大月还是小月;通过逐年推算后,才知道某年是闰年还是平年。

3、我国传统历法一直是阴阳历和二十四气并行,二十四气适用于农业生产。

4、我国传统历法采用干支循环(六十甲子)为周期的纪时制度。

历日的推算有两条原则:

1、以月相定日序。即以日月合朔的日期和时刻来定每月的初一。

例如,如果今天6时5分是日月合朔的时刻,则今天是初一。如果第二个日月合朔落在第30天,那么该月是小月(29天);如果落在第31天,那么该月是大月(30天);

2、以中气定月序。我国的旧历把全年分二十四个节气,其中单数的叫节气,双数的叫中气。以雨水所在的月为正月;以春分所在的月为定为二月;以此类推。

规定,平年有十二个月,闰年有十三个月,在没有中气的历月叫闰月,把闰月看成是前一月的重复,月序同上一月。

关于节气与阳历(公历)的关系:

节气是按太阳黄经来划分的,在地球绕太阳转的每15度为一个节气,所以节气与公历的日期是相对较固定的,每个公历平年的节气位置是固定的;而公历的闰年的节气比平年的节气的位置要前一日。如2000年(闰)其冬至12月21日,而2001年(平)的冬至是22日的。

实现:

1、公历中二十四节气很简单,

2、农历要找到一个基准日(日月合朔的日期),才可按逐年逐月推算出日序与月序;闰年与闰月。

3、再根据干支循环(六十甲子)定年就容易了。

农历的年、月、日是按照公式计算而来的,不像西历时强行规定哪月是大月,哪月是小月。要计算大小月、平闰年、闰月放在什么位置,都要按照公式来。下面我们来给出计算的公式。年份的计算1由西元年份推算天干地支:

农历年份数减3,除以10的余数是天干,除以12的余数是地支。例如:(2010-3)mod10=7,所以天干是“庚”(2010-3)mod12=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)

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天左右。

注:经过我的个人验证,公式F=365.242*y+6.2+15.22*x-1.9*sin(0.262*x)的参数改为F=365.242*y+6.18799+15.22567*x-1.9*sin(0.2618*x)似乎好些。

THE END
1.闰年的算法51CTO博客闰年的算法 因为一回归年的长度是365.2422日,即365天5小时48分46秒 这样没4年加一日,就是按照365.25来计算的,这样每年的误差是0.0078日,经过100年就会相差0.78日了,因此规定每100年少算一个闰年,这样平均就是100年24闰,365.2422*100-365*100-24=0.22天,也就是说这样100年的误差就缩小到0.22日。https://blog.51cto.com/moon1space/103067
2.闰年的算法conkeyn闰年的算法 转自:http://www.cn-java.com/www1/?uid-576374-action-viewspace-itemid-13336 首先要说一下闰年要满足的条件: 1.能被4整除且不能被100整除 2.能被400整除 在这两个条件只要有一个满足就可以了 例如2000年不满足第一个条件,但满足第二个条件,所以是闰年!https://www.iteye.com/blog/conkeyn-898299
3.农历及农历闰月的计算方法2100农历数据天文台这周没有花什么时间写程序,主要在看书。因为都比较零碎,就先不写这部分了。因为一向对历法之类的代表中国传统的书籍和习俗比较感兴趣,最近又特别想了解一下农历中闰月安排之事,所以姑且就这部分整理一下我在网上找到的资料吧。 算了,直接贴我搜集到的一些资料吧: https://blog.csdn.net/jefferson327/article/details/8884452
4.1000年农历闰年闰月查询列表1000年农历闰年闰月查询列表 农历闰哪个月?决定于一年中的二十四个节气。 我国农历将二十四个节气分为十二个节气和十二个中气。 二十四节气在农历中的日期是逐月推迟的,于是有的农历月份,中气落在月末,下个月就没有中气。 一般每过两年多就有一个没有中气的月,这正好和需要加闰月的年头相符。所以农历就规定把没https://m.xzw.com/shengxiao/zonghe/2011/0815/11181.html
5.万年历老黄历看日子结婚接亲网老黄历旧时以星象来推算吉凶,谓青龙、明堂、金匮、天德、玉堂、司命六个星宿是吉神,六辰值日之时,诸事皆宜,不避凶忌,称为“黄道吉日”。泛指宜于办事的好日子。黄道吉日就是万事皆宜的日子。下面就是一些传统黄历的算法。 1、根据传统黄历算法计算 ①闰年闰月 https://www.jieqinwang.com/baike/103092
6.17日历农历闰年判断:含闰月的年份即闰年。比如2020年、今年、2025、2028都是闰年。 闰月判断:闰月是农历的概念,并不固定,所以没有特定的算法。只能通过事先准备好的数据来获取。 (2)农历闰月信息及处理 本小节介绍一下农历的闰月、月份天数以及如何获取它们,时间从1900年到https://www.jianshu.com/p/ec708b3fee0f