2017年哪天出正月?
在数学里,一年是365或366天,而农历一年(实年)的长度是不固定的,有可能是353、354或者355天。 农历的闰月是根据“干支纪日”确定的——也就是说,根据“天干”和“地支”各自连续出现的顺序加以确定。
由于“天干”只有“十干”——甲、乙、丙、丁、戊、己、庚、辛、壬、癸;而“地支”则有“十二支”——子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。他们之间组合成一甲子(六十年)的时间长度就应该是720个月。因为每个月都是大致二十九天半,所以一年的时间长度应该是365.25*720=255680天。 由于公历与农历有差异,并且每年农历所设的闰月也不尽相同,因此从农历的某年初一(也就是新历的每月的第一天)开始记起,经过若干年后再回到该月初一是很困难的——需要考虑公历、农历闰月的情况以及农历的置闰原则等等因素。 至于题主所说的正月,其实正是指每年的第一个月份,而不管这个月是否有“初一”或者“三十”。所以又因为每一年都有“初一”也有“三十”,所以答案就是每一年的正月都有可能出现两次。
如果将这个问题抽象成数学模型,那么就是一个递归的过程——第一年的正月出现一次,第二年除了闰月可能多出一个正月之外其余各月均与第一年相同,第三年和第二年相似……以此类推。 一套完整的农历算法应该能够比较准确计算出来。不过考虑到手机电脑等电子产品的普及,这种繁琐的事情已经没有多少人去做了。 PS:我这里只是简单介绍了农历的一个原理,并没有考虑节气、朔望等相关问题,而且也没有介绍“置闰月”的相关规则。这些问题都比较复杂,而且不影响上面的结论,因此在此就不赘述了。