いくつかの単純なルールに準拠する次の時点を計算しようとしています。
リストに記載されている平日のみを含めます (以下の例では、月~金)。リストされている時間 (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)