有什么标准和策略来处理旧日历格式中描述的历史日期?
使用内置的编程语言库或诸如Gregorian,ISO8601和RDF的RFC3339本体之类的数据格式,相对容易地处理具有不同长度月份,leap年等的当代OWL-Time日历。较早的表示形式,例如Julian日历,宗教日历,regnal years(例如6月13日查尔斯二世)及其变体似乎不太适合。
我对与现代数据一起在不同日历中的历史家谱日期的解析和存储特别感兴趣。是否有涵盖不同日历中日期的RDF本体? OWL-Time似乎不包括日历。
最佳答案
您所需要的将在某种程度上取决于您所追求的。我认为您最好将日期存储为简单的统一格式,例如“Calendrical Calculations,3rd Edn”(由StarBlue引用)中的R.D.(比率模具或RD)格式。但是,我也认为您应该保留原始文本作为起点的记录,以便可以根据要求验证对RD的翻译。
例如,如果您回溯得足够远,那么英格兰的新年(至少出于某些目的)不是1月1日,而是3月25日(女士节)。例如,在中世纪的早期,您可能会发现那些当时记录日期的人将我们当前计算的1167年2月14日视为1166年2月14日。 1752年9月(在英国及其殖民地)儒略历和公历之间发生变化的一个有趣的副作用是,这一年缩短了12天。 353天而不是365天的纳税计算本来很糟糕,因此纳税年度的结束日期更改为当前的4月6日-因此,即使日历更改,该年度仍为365天。 (好的;从技术上讲,这是有根据的猜测。不过,这是英国为何在4月6日结束纳税年度的合理原因。)
因此,要处理“6月13日查理二世”,您需要知道输入采用的是正式格式,即日期为3,6月(不太难),以及查理二世在位13年。 (1630-05-29至1685-02-06;从1649-01-30成为国王,但直到1661-04-23才加冕;从1660年开始,文件的日期就好像他自1649年起就在位;请参见Wikipedia想要查询更多的信息)。因此,大概是儒略历的1662-06-13年(因为直到1752年英国才改用公历)。
关于date - 处理历史日历日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404013/