Я пытаюсь рассчитать следующий момент времени, который соответствует некоторым простым правилам.
Включайте только дни недели, указанные в списке (в приведенном ниже примере — с понедельника по пятницу). Возвращает только те часы, которые указаны в списке (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
, что, по-видимому, относится к текущему времени суток.
Может ли кто-нибудь сказать мне, как я могу заставить rrule использовать время относительно полуночи, но возвращать даты после 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
)? - person unutbu   schedule 01.05.2013