【发布时间】:2013-05-01 14:59:48
【问题描述】:
我正在尝试计算符合一些简单规则的下一个时间点。
仅包括列表中提到的工作日(在下面的示例中,周一至周五)。仅返回列出的时间(12:00、18:00)。
我想得到第一个这样的点,从提供的After 日期开始。
我已经做到了这一点,但它返回的是一个“未取整”时间,这似乎是与当前时间的恒定偏移量
def NextRunTime(After=django.utils.timezone.now()):
Sched = {'Hours': [12,18], 'Days': [0,1,2,3,4]}
rule = DateRule.rrule(DateRule.HOURLY,
byweekday=Sched['Days'],
byhour=Sched['Hours'],
dtstart=After,
count=1)
return rule[0]
这目前正在返回 2013-05-01 18:53:39+01,这似乎与当前时间有关。
谁能告诉我如何让规则使用相对于午夜的时间但在After 之后返回日期?
所需输出的明确示例
After Output
Mon 10:11:12 Mon 12:00:00
Mon 11:22:33 Mon 12:00:00
Mon 12:00:01 Mon 18:00:00
Fri 12:00:01 Fri 18:00:00
Fri 18:00:01 Mon 12:00:00 (Following Monday)
【问题讨论】:
-
你能给出一些期望输出的例子吗(给定
After的明确值)? -
@unutbu 完成 - 希望更清楚?
标签: python rrule python-dateutil