Java Date Library用于重复发生的事件

时间:2013-01-21 03:17:55

标签: java date

我正在编写一个需要支持事件日期和日期范围的应用程序。我特别希望为定期重复活动提供强有力的支持,例如商店营业时间或定期旅行。 我希望能够支持用户输入查询,例如:

“我们每个工作日上午8点至下午6点开放,周六上午8点至上午10点开放” “除了每个月的第三个星期五,我每个星期五下午6点到10点之间都可以使用” “每月25日重复会议” “从11月3日开始,每28天重复一次会议”

然后,能够快速判断给定的DateTime是否在指定的范围内,或者两个用户指定的时间之间是否重叠。

那里有一个可以满足我需求的图书馆吗?

编辑:为了澄清,我并不特别需要自然语言解析,只需要复杂的间隔和重叠。

1 个答案:

答案 0 :(得分:4)

你应该看一下Joda-Time http://joda-time.sourceforge.net/。它几乎是最好的Java日期时间库,我认为您可以使用间隔来指定商店何时打开: Joda-Time中的间隔表示从一个瞬间到另一个瞬间的时间间隔 您还应该查看http://code.google.com/p/google-rfc-2445/,因为它似乎更接近您要使用的重复活动。另外我认为这个库实际上使用了Joda Time。