我有一个调度程序将触发任务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 的相对增量完全符合我上面的描述!