1

我有一个调度程序将触发任务T,并且 T 的一些参数非常依赖于日期。例如,如果T在星期二运行,则某些参数将是:

param1 = datetime('Monday at 1pm')
param2 = datetime('Tuesday at 1am')

参数可以根据运行T的时间而有所不同。因此,例如,如果它在星期日运行,则参数可能是:

param1 = datetime('Saturday at 12pm')
param2 = datetime('Sunday at 12pm')

等等。这个想法是日期与T的运行时间相关,但我不能使用timedelta,因为我不确切知道任务何时运行,所以我想保留对日期的一定程度的绝对控制。

现在,将启动T的代码有一个指定参数的小 json 包。我正在编写一种允许我指定相对日期的小型脚本语言。它看起来类似于:

date1: { 
    'type': 'datetime', 
    'source': 'composite', 
    'value': '(Yn)-(Mn)-(Dn)-(Hn)-(Nn)'
}

value解析字符串并根据括号中的内容编译参数。因此,例如,如果value是类似的东西(Y:n)-(M:n)-(D:-1)-(H:18)-(N:00),它将用当前年份、当前月份、一天、18:00 构造日期。

我是否试图用这些东西重新发明轮子。有没有图书馆可以让我的生活更轻松?


编辑:看起来Date-Utils 的相对增量完全符合我上面的描述!

4

1 回答 1

3

对于人类可读的日期/时间解析,您可以使用parsedatetime

我会按原样存储“人类可读”字符串,并在需要时对其进行评估。

于 2013-02-25T17:58:20.510 回答