公历转换农历及节气算法

2022-04-04 00:52:28   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《公历转换农历及节气算法》,欢迎阅读!
公历,节气,农历,算法,转换
公历转换农历

公历与农历是我国目前并存的两种历法,各有其固有的规律,农历与月球的运行相对应,其影响因素多,它的大小月和闰月与天体运行有关,计算十分复杂,且每年都不一致,因此要用单片机实现公历与农历的转换用查表法是最方便实用的办法。

计算公历日对应的农历日期的方法是先计算出公历日离当年元旦的天数,然后查表取得当年的春节日期,计算出春节离元旦的天数,二者相减即可算出公历日离春节的天数,以后只要根据大小月和闰月信息减一月天数,调整一月农历月份,即可推算出公历日所对应的农历日期,如公历日不到春节日期,农历年要比公历年小一年,农历大小月取前一年的信息农历月从12 月向前推算。

本文介绍的公历转换农历C语言程序实现从1901 年到2099 199 年的公历日到农历转换,如果到2099年后则要添加农历表,但我相信199年对我们现代人已经足够了。在功能函数入口输入BCD公历数据函数出口直接输出BCD农历数据。农历显示按照人为习惯都是用大写显示,比如:“1号”应该显示为’初一“;“21”应该显示为“廿一”;“12月”应该显示为“腊月”等。

二十四节气和生肖

二十四节气是我国劳动人民创造的辉煌文化它能反映季节的变化,指导农事活动,响着千家万户的衣食住行。有人认为二十四节气从属农历,其实,它是根据阳历划定的。即根据太阳在黄道上的位置,把一年划分为24个彼此相等的段落。也就是把黄道分成24个等份,每等份各占黄经15°。由于太阳通过每等份所需的时间几乎相等,二十四节气的公历日期每年大致相同:上半年在6日、21日前后,下半年在8日、23日前后。

二十四节气没有固定规律,也需要存表。如1901年的节气为

1 2 3 4 5 6 7 8 9 10 11 12 [ 6,21][ 4,19][ 6,21][ 5,21][ 6,22][ 6,22][ 8,23][ 8,24][ 8,24][ 8,24][ 8,23][ 8,22] [ 9, 6][11, 4][ 9, 6][10, 6][ 9, 7][ 9, 7][ 7, 8][ 7, 9][ 7, 9][ 7, 9][ 7, 8][ 7,15] 上面第一行数据为每月节气对应公历日期,15减去每月第一个节气,每月第二个节气减去15得第二行,这样每月两个节气对应数据都小于16,每月用一个字节存放,高位存放第一个节气数据,低位存放第二个节气的数据,根据以上规律便可编写出节气表,最后通过表计算出每月节气。

生肖计算相对就简单多了。12生肖按以下排列:

0 1 2 3 4 5 6 7 8 9 10 11

用当前年数减去1900,然后除以12取余,余数就代表属相数。 1. 例如:1951

1982-1900/12=10

1982年生的人的属相为狗年 2.2009

2009-1900/12=7 2009年生的人属相为牛年





本文来源:https://www.wddqxz.cn/6670bbab9b89680202d82533.html

相关推荐