金拉尔森计算公式
w=(D2 * m3 *(m1)/5y y/4-y/100y/400)mod 7
在公式中,D表示日期+1中的天数,M表示月数,Y表示年数。
注意:该公式与其他公式有所不同:
1月和2月被视为上一年的3月和4月,
例:如果是2004年1月10日,则转换为:2003年3月10日,代入公式进行计算。
生肖及干支年计算方法是:
出生年数 12,然后根据除以商的余数,对比一下十二生肖的排列就能立刻知道。
生肖为:猴(0)、鸡(1)、狗(2)、猪(3)、鼠(4)、牛(5)、虎(6)、兔(7)、龙(8)、蛇(9)、马(10)、羊(11)。
天干地支算法:
首先,我们应该能够记住十天干和十二地支,
十天干:甲、乙、丙、丁、戊、己、庚、辛、任、归;
十二地支:子、丑、寅、卯、辰、巳、午、申、酉、巳、亥;
天干地支纪年法首先指的是前面的天干,后面的地支。例如,今年的2005年将是第一年。先算天干吧。有一个公式:
4、5、6、7、8、9、0、1、2、3,对应的旬工作是
甲、乙、丙、丁、戊、己、庚、辛、壬、癸、
是年份的最后一位数,比如今年是2005,最后一位数是5,对应的天干是B;
地支的算法:用年数除以12,后面的余数代表一个地支。其余的是:
4、 5、 6、 7、 8、 9、 10、 11、 0、 1、 2、 3,
代表地支有:子、丑、寅、卯、辰、巳、午、卫、申、酉、戌、亥。
比如以2005年为例:年末为5,对应天干为B,2005年除以12,余数为1,对应地支为酉,所以2005年是第一个酉年。
农历日期部分的算法是:
农历日期以满月为准,即每个新月的第一天,满月的第十五天(满月的第十六天),满月的第二十九天(满月的第三十天)。但是,目前通常用阳历的日期来表示时间。如果想把阳历的日期换算成阴历的日期,可以用以下两种方法:一种是查《新编万年历》。比如1984年农历6月8日是几号?打开万年历,6月10日是农历十一,然后6月8日是农历九。第二,农历日期可以通过公式计算:
设:公元年数-1977年(或1901年)=4Q+R
那么:农历日期=14Q 10.6(R 1)年日期数-29.5n。
(注:公式中,Q、R、N均为自然数,R4)
例如:1994年农历5月7日的日期是:
1994-1977=17=44+1
所以:q=4,r=1,那么:农历五月七日是:
144 10.6(1 1)(31 28 31 30 7)-29.5牛顿
=204.2-29.5牛顿
然后用204.2除以29.5得到商6.27.2,6是N的数值,余数27是农历二十七。
本文关于批量万年历(含农历日期)的实现代码到此为止。更多相关批量万年历内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!