“中西历转换器”的制作经历

我在记录一些名人事件的时候,经常会碰见这些时间上的问题。比如:光绪八年初,梁启超参加县试;光绪七年八月初三,鲁迅出生于大清浙江省绍兴府;建中靖国元年七月二十八日,苏轼于常州孙氏馆病卒。因为需要并行的看待中国和西方的历史事件,所以中西历之间的关系就必须要搞明白。

市面上有相当多的“万年历”产品,用过几款以后发现几乎所有的“万年历”都只支持 1900 年以后的公农历转换。再往前的年份,比如十九世纪、三国时期等的就没有了。再查找发现,台湾的中央研究院有一个“两千年中西历转换”的在线工具,可以实现这个需求,只需要在网页简单操作,无需历法的相关知识,就可以得到结果,非常的方便。

但是我需要的是一个可以自动化转换的工具,比如:自动列出来万历十五年的事件以及活跃的人物、1019 年 5 月 4 日东方的年龄在 18 到 22 岁之间的人物。“两千年中西历转换”并不适合这样的需求,看来我需要自备一个转换的工具。

对历法的知识仅限于:农历有大小月和闰月,公历 4 年一个闰年,平年 2 月 28 天,闰年 2 月 29 天这样的初级知识。从“两千年中西历转换”的说明页面了解到有《两千年中西历对照表》这本书,又顺藤摸瓜的知道了权威的历法机构:紫金山天文台,专业的历法书籍《大众万年历》、《中国史历日和中西史历日对照表》、《中国历史纪年表》、《中国年历总谱》和《二十史朔闰表》。有几本书已经不再销售,只能通过某平台高价买了原版书,虽说知识无价,也算是买过的单本最贵的书了。

《大众万年历》这本书最初我有点看不上,这不都是风水大师,看病算卦拿的书嘛,年轻人都不信这一套,有什么价值可言?后来我低估了,这本虽然只能查找 1901 ~ 2100 之间的公农历转换,却把各种历法的原理说的简单明了。

中国的朝代众多,皇帝也有几百个,年号就更不胜数。真的有学者把各个朝代(从周到清)的建立到灭亡时间,各个皇帝的登基和退位时间,各个年号的使用时期都精确的整理下来。《中国历史纪年表》里把这些整理的明明白白,真让我惊叹不已,多了许多的敬慕。

中国的农历不像公历的规律性那么强。大小月和闰月的规定是历法机构根据太阳和月亮的位置推算出来的,所以几乎每一年都是不一样的。《二十史说闰表》把每一年的大小月和闰月都清晰的罗列出来,不知道大师们是怎么做出来的,反正觉得很牛逼。

具体到某一日的转换,比如公元 1019 年 5 月 4 日,通过《两千年中西历对照表》可以非常快速的查出来对应的是宋真宗天禧三年三月二十七。厚厚的一本书,密密麻麻的全是数字,该书是 1956 年出版,当时应该还没有用于出版印刷的计算机,难以想象当时的困难有多大。拿在手里的又是一本满载年代感的旧书,翻阅的时候又掉了几页,烂了几页。把书上的文字转换成数据的时候,需要把每年的朔闰记录起来,每年大概需要一分钟,一千九百多年下来也是一个不小的量。录的过程中,对大师们的工作更加敬慕。

转换器代码编写过程不必多说。为了保证结果的正确性,还需要多多的测试。

在转换器中输入 “1019 年 5 月 4 日”,输出“宋真宗天禧三年三月二十七,辽圣宗开泰八年三月二十七”。历史车轮的人物数据还非常有限,当天年龄在 18 到 22 岁的人物有:包拯 20 岁。司马光刚刚出生,18 年之后苏轼才出生。

链接:两千年中西历转换 访问 ,历史车轮中西历转换器 访问

配图:大众万年历  查看 ,中国历史纪年表 查看 ,二十史朔闰表 查看 ,两千年中西历转换器 查看

· 结束 ·

参与讨论 · 关于本站 · 返回首页