我有一个序言实现,使我可以使用13个艾伦关系的基于序言的表示,比较事件中的时间点。每个事件都有一个起点(yyyy-mm-dd)和一个终点(yyyy-mm-dd),我可以检查两个事件是在同一时间发生还是在另一个事件之前,等到一天粒度之前(例如1555-12-03在1555-12-04之前)。它确实可以与所谓的AC日期(Anno Domini)一起使用,但是现在我有很多事件发生在BC(基督之前)。处理这些卑诗省活动的最佳方法,例如,雅典的基础(BC 1556)是在哥伦布(Colombus)诞生之前(1451).....任何想法都非常受欢迎。

谢谢,

一世。

有帮助吗?

解决方案

您如何存储约会?如果它位于您自己的结构中,则包括广告或卑诗省,并将其用作一个负面的旗帜,卑诗省将数年视为负面,广告将年视为正面。

其他提示

我相信他在问您的日期是否存储在各种谓词中,还是仅在单个日期谓词中指定,例如,a_date(12345,“ 12-24-2011”),其中第一个字段是ID字段。也就是说,您是否将日期存储为类似

a_date(event_id,date_value)

date_value的格式在哪里是yyyy-mm-dd?

一种解决方案:在日期字符串中需要“ AD”或“ BC”,默认值为“ BC”,并将其视为“ AD”。

另一个解决方案:创建一个新的日期谓词,调用

a_date(even_id,date_value,flag)

标志是卑诗省或广告。如果标志是广告,数学会像往常一样继续。如果标志是BC,则分支到适当数学的新代码。形式a_date(event_id,date_value)的现有日期谓词将被解释为a_date(event_id,date_value,“ ad”)

也就是说,代码

a_date(event_id,date_value):= a_date(event_id,date_value,“ ad”)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top