免费发布“两千年中西历速查”软件,对历史或历法没兴趣的就不要下载了
读历史书时经常要做中西历间的相互查考,除了借助工具书以外,网上也有一些其他人做的工具软件(WalkerSu就曾在csdn发布过一个类似的小工具),但我见过的软件不是数据不全,就是使用不便。没办法,上个月里利用业余时间,自己写了一个。虽然写得不怎么好,但还算可用。
今天把它发布到网上,对历史或历法有兴趣的可以到这里下载。以下是该软件的帮助文档:
简介
“两千年中西历速查”软件可以在公元1年至公元2100年的范围内,从中国农历年、月查询对应的西历日期,显示农历某月的月历,或从西历某日查询对应的中国农历日期。本软件可在简体中文Windows 98/Me/2000/XP系统下运行。研究中国历史或阅读中国古典文献的朋友也许会喜欢这个小工具。当然,作者本人并非历史专业出身,软件中与历法或史学相关的疏漏在所难免,还望方家指正。
使用方法
本软件的主界面是一块17世纪的英国怀表,用鼠标左键单击怀表的不同位置,可执行“关闭”、“系统菜单”、“中历转西历”、“西历转中历”等四项功能。如下图所示:
[关闭]
关闭“两千年中西历速查”软件。
[系统菜单]
显示“两千年中西历速查”软件的系统菜单。系统菜单提供“中历转西历”、“西历转中历”、“帮助”、“关于”、“移动”、“最小化”、“关闭”等常用功能。
可以使用系统菜单中的“移动”功能改变窗口在屏幕上的位置,方法是用鼠标选择系统菜单中的“移动”项后,使用键盘上的方向键移动窗口。此外,用户也可以直接用鼠标指向怀表的底座,按下鼠标左键并拖动鼠标,以快速移动窗口。
[中历转西历]
显示中历转西历的主界面,如下图所示:
中历转西历的方法是,用鼠标在界面左上方的4个下拉列表框中依次选择要查找的“国号”、“帝号”、“年号”和“年”(没有帝号或年号的,软件用“*”代替,用户可直接选择下一个项目),界面右上方即自动显示出该农历年对应的西历日期,以及年内所有月份的朔日干支。例如,要查找明熹宗天启6年对应的西历日期及每月朔日干支,应在“国号”中选择“明”,在“帝号”中选择“熹宗”,在“年号”中选择“天启”,在“年”中选择6,查询结果如下:
从上图可知,明熹宗天启6年的干支为丙寅,该年以建寅月为正,该年对应于西历公元1626年1月28日~1627年2月15日,共13个月(闰6月),正月朔日干支为乙巳,等等。
如果想进一步了解每个月份的详细日历,可用鼠标左键单击该月份。例如,在上图中,单击“闰6月辛丑”,闰6月的详细日历(每天的农历干支及对应的西历日期)将自动显示在界面下方,如下图所示:
从上图中可知,明熹宗天启6年闰6月共30天,对应于西历公元1626年7月23日~1626年8月21日,闰6月初二的干支为壬寅,对应于西历公元1626年7月24日,等等。
查询某月的详细日历后,可用鼠标右键单击界面下方的详细日历区域,并在弹出的菜单中选择“复制到剪贴板”,查询结果即被复制到Windows剪贴板中,用户可在其他编辑器(如记事本或Word)中粘贴并编辑查询结果。
[西历转中历]
显示西历转中历的主界面,如下图所示:
西历转中历的方法是,在界面上方的3个编辑框内分别输入要查询的西历“年”、“月”、“日”,用鼠标左键单击“查询”按钮,该日对应的中历国号、帝号、年号、日期等信息即显示在界面下方。因为中国历史上多个王朝并存的时代(如三国、南北朝等)较多,不同王朝使用的历法又不尽相同,如果用户输入的西历日期处于多王朝并存阶段,本软件会尽量将已收录的不同王朝历法中相应的农历日期都显示出来。例如,要查询公元225年5月1日对应的农历日期,应在界面中输入“225”、“5”、“1”,然后单击“查询”按钮,软件显示的查询结果如下:
从上图可知,公元225年5月1日对应于魏文帝黄初6年(乙巳年,寅正)闰3月6日癸丑,蜀后主建兴3年(乙巳年,寅正)闰3月6日癸丑,吴大帝黄武4年(乙巳年,寅正)4月7日癸丑。
查询得到结果后,可用鼠标右键单击界面下方的结果区域,并在弹出的菜单中选择“复制到剪贴板”,查询结果即被复制到Windows剪贴板中,用户可在其他编辑器(如记事本或Word)中粘贴并编辑查询结果。
局限性
“两千年中西历速查”软件1.0版存在以下设计和技术上的局限性:
★ 适用的日期范围:公元1年2月11日~公元2100年12月30日。公元1年2月11日即农历西汉平帝元始1年1月1日,此前西方(古罗马)历法体系尚未完全规范,史学界对秦汉以前的中国历法又存在较多争议,故本软件暂不考虑公元前的情况。
★ 历法体系:本软件中的“中历”指中国的农历,也称夏历。本软件中所谓的“西历”指西方(特别是以罗马为中心的西方世界)实际施行的历法体系,即公元1582年10月罗马教皇格列高里改历前,以奥古斯都修订后的儒略历为准;格列高里改历后,以现行的公历为准;同时采纳通行的关于公元4年罗马失闰说法,将公元4年视为平年。因此,本软件中的“西历”没有公元4年2月29日,没有公元1582年10月5日~10月14日,1582年前,每逢百年均为闰年,与现行公历不同(注:有研究者认为此类软件中的西历历法应采用现行公历倒推,以方便计算和比较。个人认为,使用类似软件研究历史的人,关心的是西方实际施行的历法,而非按照现行标准计算的“理论”历法,因此,本软件采用了陈垣先生在《二十史朔闰表》中的做法,以西方实际历法为准。此外,近代西方考古学对公元4年罗马失闰的问题也颇多质疑,但因尚未有定论,本软件暂且取“失闰说”)。
★ 非“寅正”年份的处理:公元1年以后,中国历史上没有采用寅正的时间段共有4个,即新王莽以12月为正(丑正),魏明帝景初1~3年以12月为正(丑正),唐武后载初1年~久视1年以11月为正(子正),唐肃宗上元2年~宝应(代宗初即位时亦用此年号)1年中间,有7个月的时间以11月为正(子正),但无年号。本软件处理这4个时间段时,会显示“丑正”或“子正”字样,此时软件显示的中历1月即相当于寅正年份的12月或11月。因为技术原因,非寅正年份改寅正时,多出的1个月或2个月,本软件略去不录,用户可根据西历日期自行推出。
★ 年中改元的处理:对于年中改元的情况,本软件以实际起止月份为准。因此,显示农历月份时,本软件不一定显示出该年全部的12或13个月。
★ 1949年以后:中华人民共和国以公元纪年。为方便起见,本软件表示1949年后的农历年份时,同时列出公元纪年和农历干支。但因为农历年和公历年并不完全重合,在年首岁末,会出现中西历公元纪年不合的情况。
参考资料
网上有一些类似的软件:
★ 北大中文系语言学实验室沈炯维护的工具软件和参考资料:参考资料较全,但软件较陈旧,使用不便(http://chinese.pku.edu.cn/lifa/lfjt.htm)。
★ WalkerSu编写的“中国古历日速查工具”:功能较简单,数据仅到隋朝为止。原用VB实现,后来又有人用XHTML重新实现(http://www.csdn.net/cnshare/soft/17/17633.shtm)。
★ 台湾中央研究院计算中心Web版的“中西历转换工具”:功能较全,数据完整,但Web方式查询速度较慢,文字内容均为繁体,1949年后仍以中华民国纪年(http://www.sinica.edu.tw/~tdbproj/sinocal/luso.html)。
与历法相关的书籍:
★ 陈垣:《二十史朔闰表》,中华书局,1962
★ 薛仲三、欧阳颐:《两千年中西历对照表》,三联书店,1956
★ 董作宾:《中国年历总谱》,香港大学出版社,1960
★ 方诗铭:《中国历史纪年表》,上海辞书,1980
★ 方诗铭、方小芬:《中国史历日和中西历日对照表》,上海辞书,1990
★ 万国鼎、万斯年:《中国历史纪年表》,中华书局,1982
★ 中科院紫金山天文台:《新编万年历(1840~2050)》,科普,1984