本帖最后由 七秩龄童 于 2016-2-28 08:44 编辑
培养深入学历兴趣游戏法一 编制中华历谱年码数表 史 纪 为熟悉历史年代和历日,大约二十多年前、那时电脑还不普及,从网上基本寻不出历表数据来,于是自得其乐,由公元元年开始,编了一本至2100年的《中华历谱年码数表》,《历谱年码数表》每年立一组历数,内容包括:闰轮组号(由公元元年往后,每19年编为1组)、闰轮年序号、元旦日干支序码,春节日干支序码、元旦日对应夏正月日(以D表十一月,L表十二月)、闰平年指示码(平年用“-”表示,闰月以罗马数指示),初步用以上六组共13位数码构成,如: 例1:公元4 年,属闰轮第1 组,闰轮年序第4 年,元旦日干支记日壬辰(干支序29),春节日干支记日辛未(干支序08),元旦日对应夏正十一月廿一日(D21)、平年(—),组码如下:“0004年 001042908D21-”。 例2:公元2001年,属闰轮第106 组,闰轮年序第6年,元旦日干支甲子(01),春节日干支记日丁亥(24),元旦日对应夏正十二月初七日(L07),闰年闰四月(Ⅳ),组码:“2001年106060124L07Ⅳ”。 一、中华历谱年码数表间接求春节公历日期:由春节日干支D、元旦日干支C决定: 春节日期 = D-C+1 例3,公元2001年106060124L07Ⅳ:D = 24,C = 01, ∴ 春节日期 = 24 – 1 + 1 = 24 , 春节元月24日。 例4,公元2000年106055530D15- :D = 30,C = 55, ∴ 春节日期 = 30 – 55 + 1 = -24 = 36 , 春节2月5日。 二、中华历谱年码数表间接推表数绝对年份:由E项元旦日期,其前一天,即头年12 月31日的夏历日期。 例4,查历史记载,岳飞死于南宋绍兴十一年十二月廿九日。因绍兴十一年对应于公元1141年,故史记多载岳飞死于公元1141年。但查《中华历谱年码数表》1142年数为:061020432L03-,注意到,1142年元旦为十二月初三日,绍兴十一年十二月廿九日为1142年1月27日(29-3+1=27),故应书“岳飞死于公元1141年”。 三、中华历谱年码数表间接核定表数公历历岁实际天数:或曰公历平年365天,4 年一闰,闰年366天,似无推知必要。实际上,《中华历谱年码数表》则提供了核定的方法是,360加后一年元旦日干支减本年元旦日干支:360 +(C2- C1 )。 例5,公元1700年表数090094332D12-,1701年表数090104826D23-, 知1700年实际天数360 + 48 – 43 = 365天。 公元1800年表数095142751L07-,1701年表数095153215D17-,知1800年实际天数360 + 32 – 27 = 365天。 公元1900年表数100191141L01-,1901年表数101011605D11-,知1900年实际天数360 + 16 – 11 = 365天。 公元2000年表数106055530D25-,2001年表数106060124L07-,知2000年实际天数360 + 61 – 55 = 366天。 例6,公元1582年表数084053457L07-,1583年表数084062952L08-, 知1582年实际天数360 + 29 – 34 = 355天。 公历平年365天,但有一年即1582年例外,因该年格里高得改历,销去10 月4 日至14 日的历日10 天,形成历史10 天空白,故1582年实际只355天。 阅《中国文化知识精粹》载《万年星期天》未鉴及此,致查1582年前得数失之千里,可为遗憾。 四、中华历谱年码数表间接核定表数夏历年的实际天数:夏历平年十二个月353至355天,闰年十三个月383至384天。具体多少天,由前后两表数春节日干支码差决定:设所求年春节码为D1 ,次年春节码为D2 ,两者相减若为5至7,为平年,以360减之,得本年平年天数;若相差23至25,则加360 为本年闰年天数。 例7,公元1620年表数086054317D27-,1621年表数086064910L09Ⅱ, 知1620年为平年,D2 =10,D1 = 17,D1 - D2 = 7,1620年夏历天数360 – 7 = 353天。按1620年为明万历四十八年,年353天,出同机会并不多,此其353天例。 例8,公元572年表数031021141D30-,573年表数031031235L12Ⅰ, 知572年为平年,D2 =35,D1 = 41,D1 - D2 = 6,572年夏历天数360 – 6= 354天。572年为北周武帝建德元年,年354天。按北齐闰十一月,陈闰十二月,北周闰次年正月,此按北周列历表。 五、按中华历谱年码数表推算任一日期间相距的天数:由本《中华历谱年码数表》所提供表数,可自行想出算法。下举例: 例9,算公元元年至公元400年元旦日、春节间相距天数:公元元年表数001011456D18-,公元400年表数022010849D19-。 解:实际相距365.2422×399 = 145731.64天,与60甲子倍数相近的为2929倍的175740天,两年份元旦日干支C2 = 08, C1 = 14,C2 - C1 = -6, 夏历399年为4935朔望月 × 29.530589天 = 14573345.456715天,与60甲子倍数相近的为2929倍的175740天。公元元年至公元400年春节干支分别为,D2 =49,D1 = 56,D1 - D2 = 7, ∴ 公元元年至公元400年元旦日相距 = 175740 – 6 = 175734(天)。 ∴公元元年至公元400年春节相距= 175740 – 7 = 175733(天)。 例10,算公元元年至公元2002年元旦日、春节间相距天数:公元元年表数001011456D18-,公元2002年表数106070648D18-。 解:按岁365.25天,两千岁730500天。 此题求元旦日相距天数,可理解为按儒略历两千岁减去格里高利改历销去的10 天和和3个百年缺闰共13天,加2001年历日天数365天,为730500 – 13 + 365 = 730852(天)。 求春节日相距天数:与730852相近的与60成倍的天数为730860天,由表D2 =48,D1 = 56,D1 - D2 = 8,730860 – 8 = 730852(天)。 评:由表C2 =14,C1 = 06,C1 - C2 = -8,730860 – 8 = 730852(天)知,公、夏两历2001年(岁)长同为730852(天),亦足说明其和谐,足可点赞。 六、由公元年号求干支纪年:令公元年号除60的余数为U,则所求公元年号的干支序码为 N = U – 3(0≡60)。 例11,求2016年纪年干支:2016 ÷ 60 = 33…36, N = 36 – 3 =33 (丙申) 七、按中华历谱年码数表求任一日期记日干支:由表数 C 项知为元旦日干支码,加上相距元旦的天数除以60 的余数即是。 N = U + C(0≡60)。 例12,求1949年10月1日的纪日干支: 解:公元1949年中华历谱年码数表表数103112856L03Ⅶ,C = 28(辛卯),元旦至10月1日相距【30×8 + 5 + 28 】MOD60 = 273 MOD60≡33, ∴ N = U + C =33 + 28 = 61≡ 1 (甲子) 八、补充公元N年的岁前冬至T数算式:冬至干支记日未说表,因可用下式入算;下附部分年份岁首冬至历表如次:
T = 1.279O + 5.2422 N 。 |