农历算法贪狼木星

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.公历转农历生肖干支纪年节气算法研究和C程序实现农历的那些事儿(一) 香港天文台农历数据(txt版) 香港天文台农历数据(pdf版) 二、关于农历 查阅了大量关于公历转农历的博文之后,明确了:所谓的公历转农历算法即系基于查表法推算。因为农历无明显规律,数据需要天文台观测得到,因此无法用公式将公历转成农历。 https://blog.csdn.net/Stack_/article/details/119980697
2.国历和农历怎么转换6、国历与农历的换算公式 求教高人!!! 你指的是公历与农历的换算公式吧?这个算法复杂,我可以提供C或C++的API函数给你,不知道你是用什么语言来编的? 7、转换农历国历 网友分享:你好,国历1997.13,转换为农历是1997年1月7日,星星期四;国历1997.1,转换为农历是1996年12月24日,星期六。 https://www.105188.com/sh/618011.html
3.中国农历,有详细的阴历算法中国农历,有详细的阴历算法_农历算法,农历算法Et**on 上传43.55 KB 文件格式 rar 这本来是我为一个商业PDA产品开发的日历程序,最近移植于PC机上, 所以算法 和数据部分是用纯C++写的,不涉及MFC,所有的代码都是以短节省存储空间为主要目 的. 很高兴你对这些代码有兴趣,你可以随意复制和使用些代码,唯一有一点小小https://www.coder100.com/index/index/content/id/1356739
4.农历日历的计算方法理想股票技术论坛这篇文章将介绍农历日历的计算方法,包括如何计算农历日期以及应用的农历算法。了解这些计算方法可以帮助我们准确地确定农历日期,从而更好地了解传统农历文化和传统节日的日期。 ,理想股票技术论坛https://www.55188.com/tag-5268596.html
5.博大精深的农历算法php教程博大精深的 农历算法 /*** Lunar calendar 博大精深的农历* 原始数据和算法思路来自 S&SLab http://www.focus-2000.com 可惜网站好像关了*//*农历每月的天数。每个元素为一年。每个元素中的数据为:[0]是闰月在哪个月,0为无闰月;[1]到[13]是每年12或13个月的每月天数;[14]是当年的天干次序,[15]是https://www.php.cn/php-weizijiaocheng-318541.html
6.农历的算法是怎么算的农历的算法是怎么算的错过花期 精选回答 农历按照全年的自然日划分为四季、二十四节气和年节。 农历的二十四节气包括:春季的立春、雨水、惊蛮、春分、清明、谷雨;夏季的立夏、小满、芒种、夏至、小暑、大暑;秋季的立秋、处暑、白露、秋分、寒露、霜降;冬季的立冬、小雪、大雪、冬至、小寒、大寒。此外,全年中的https://edu.iask.sina.com.cn/jy/3qDa0bwIqY5.html
7.阳历与农历转换的算法,,CIO之家下面是一个关于VB的农历算法 '日期数据定义方法如下 '前12个字节代表1-12月为大月或是小月,1为大月30天,0为小月29天; '第13位为闰月的情况,1为大月30天,0为小月29天; '第14位为闰月的月份,如果不是闰月为0,否则给出月份,10、11、12分别用A、B、C来表示,即使用16进制; http://km.ciozj.com/Detail.aspx?AI=48791
8.VB计算农历的算法.NET教程,VB.Net语言下面是一个关于vb的农历算法 日期数据定义方法如下 前12个字节代表1-12月为大月或是小月,1为大月30天,0为小月29天, 第13位为闰月的情况,1为大月30天,0为小月29天,第14位为闰月的月 份,如果不是闰月为0,否则给出月份,10、11、12分别用a、b、c来表 示,https://www.west.cn/www/info/22131-1.htm
9.python实现的阳历转阴历(农历)算法Flex公历转农历算法 Flex公历转换成农历的类(参考C++版本)。 使用方式: new ChineseDate(new Date()).date 输出公历日期对应的农历格式。 上传者:liu_you时间:2009-12-25 Python实现公历(阳历)转农历(阴历)的方法示例 本文实例讲述了Python实现公历(阳历)转农历(阴历)的方法。分享给大家供大家参考,具体如下: 两https://www.iteye.com/resource/weixin_38721119-13777616
10.教你用SQL生成一张带「农历」的日期维度表有不少同学留言该如何解决农历的问题,今天就告诉大家具体操作方法。农历与世界通用的日历有所区别,是科学家演算出来的,目前为止只有到2049年的,以后的有了还可以加入! 本文转载自微信公众号「SQL数据库开发」,作者丶平凡世界 。转载本文请联系SQL数据库开发公众号。 https://www.51cto.com/article/646091.html
11.公历转农历怎么个计算方法?标题: Re: 公历转农历怎么个计算方法? 发信站: 水木社区 (Wed Nov 22 10:51:46 2023), 站内 网页版的日历,查看源码就可以,特别是宝岛的人写的,对农历算法有研究 -- ※ 来源:·https://exp.mysmth.net·[FROM: 182.239.114.*] 查看 发信 加好友 返回顶部 lixz1988 回复 转寄 转载 关注 搜http://images.newsmth.net/nForum/article/Programming/211883?au=lixz1988
12.农历计算方法探秘(农历如何计算)2.置闰法则:农历通过设置闰月来调整月亮和太阳的周期差异。具体方法是:以19年为一个周期,其中12个平年各设12个月,7个闰年各设13个月。闰月的设置是根据天文算法和历法规则确定的,通常在农历的特定年份中插入一个额外的月份。 3.干支纪年:农历还结合了干支纪年法,以10天干和12地支的组合形成一个60年的循环。每https://www.zaixianjisuan.com/jisuanzixun/nonglijisuanfangfatanmi.html
13.农历计算方法所以计算农历需要先找出气朔,计算气朔则需计算太阳和月亮的黄经,现代天文学使用行星历表计算天体位置。python有第三方库提供相关功能,本文提供的算法以PyEphem库为例,利用太阳黄经计算节气,由SolarTerms函数处理,合朔则直接使用库中提供的next_newmoon函数进行计算。 https://www.jianshu.com/p/d3b63ee7492f
14.一种公历到农历日期转换算法的实现本文主要从单片机软件实现角度介绍一种公历到农历转换的算法思想, 算法采用MCS-51 指令系统实现。并给出程序流程图,另外对二十四节气和生肖的算法也做详细介绍。关键词:单片机;MCS-51 指令系统Abstract: This paper introduces the realization and algorithm of the transform between Gregorian calendar and lunar https://m.elecfans.com/article/39160.html
15.属兔的和什么属相最配接亲网三、属相算法 1、农历算法 以除夕为分界点,也就是我们说的农历新年(大年初一)为起点计算生肖的方法出现比较晚,最早记载出现在北宋,现在很多人比较认同这个。民俗专家们认为,属相不应该按二十四节气来算,毕竟春节是农历新年的开始,也是农历生肖年的开始,属相自然应从正月初一算起。 https://www.jieqinwang.com/baike/96698
16.C++实现公历转农历的算法CPPX的博客C++实现公历转农历的算法 由于C++语言诞生的比较早,所以不像.NET那样官方自带公历转农历的代码库,因此只能通过自己来实现今天是农历几月几日星期几的查询. 以下文件在linux g++ (GCC) 4.1.2 环境编译通过 //file: lunarday.h //author: cuichaox@gmail.comhttp://www.cppblog.com/ctou45/archive/2012/08/21/187846.aspx