今天做计算的时候突然想到的一个问题:
- 传统上,寒食是冬至后105天,在 Excel 里算了一下,所以寒食应该是今天 4月5日;
- 传统上,寒食在清明前一天或者两天;
- 今年清明是 4月4 日;
所以就有了矛盾,今年的寒食在清明之后。白天没功夫儿细想,现在才想明白其中缘由:古代用平气,现在(从清代开始)用定气,所以定气导致清明节离冬至的距离缩短,以至于清明和寒食的时间错位。
中国古代的历法是阴阳历,一年的长度大约等于一个回归年。在清代以前,节气是以冬至为起点、二十四等分回归年来确定的。所以清明在冬至后 365.25/24*7 = 106.53 天,根据冬至的具体时刻,这个数字折合成天数,可以是冬至后106天或者107天,寒食在冬至后105天,所以正好是清明前1天或者2天。同时因为12个朔望月的长度短于一个回归年的长度,所以使用平气,也可以确定闰月,凡是没有中气的月份就是上个月的闰月,这样一来差不多十九年有七闰,协调了朔望月与回归年之间的矛盾。