语言表达复杂的时间多间隔?

时间:2009-07-16 12:41:17

标签: parsing datetime programming-languages dsl

我想知道是否有人知道任何声明性语言来表达绝对日期时间的多个区间。我的意思是集合,它们是时间间隔的联合/交集/补充。

我想代表的间隔就像:

(
 (from the second day of the month to the 10th) intersection (months 1,2,3,10)
)
union
(
  (from the second monday of january to the 3rd of july) intersection (not in(mondays, fridays))  
)  

我不是在寻找一个库,而是在寻找一些语言规范。

我正在寻找的一个例子是你能找到的cron表达式here

3 个答案:

答案 0 :(得分:1)

似乎有人最终为此设计了一个dsl:schyntax

答案 1 :(得分:0)

好吧,你可能不是在寻找一个库,但是在使用Java时,JODA库的结构与你所展示的内容的结构非常接近。看看吧。

答案 2 :(得分:0)

SQL的方言,也许?

Date from Days 
where Month in (Jan, Feb, Mar, Oct)
    and Day between 2 and 10

union

Date from Days
where Date between SecondMondayOf(Jan) and July,3
    and DayOfWeek not in (Mon, Fri)