我正在使用rrule包中的python-dateutil方法。我想创建一个可以忽略假日日历中的日期的规则。我知道exdate()方法,但这似乎只是从输出列表中生成日期来过滤日期。
from dateutil.rrule import *
from datetime import datetime
set = rruleset()
set.rrule(rrule(MONTHLY, count=4, bysetpos=-1, byweekday=(MO, TU, WE, TH, FR), dtstart=datetime(2013,1,1)))
list(set)
# outputs 4 dates without an exdate() call
> [datetime.datetime(2013, 1, 31, 0, 0), datetime.datetime(2013, 2, 28, 0, 0), datetime.datetime(2013, 3, 29, 0, 0), datetime.datetime(2013, 4, 30, 0, 0)]
set.exdate(datetime.datetime(2013, 2, 28, 0, 0))
list(set)
# only outputs 3 dates, ignoring the date provided in exdate()
> [datetime.datetime(2013, 1, 31, 0, 0), datetime.datetime(2013, 3, 29, 0, 0), datetime.datetime(2013, 4, 30, 0, 0)]
我想要做的不是省略日期时间(2013,2,28,0,0),而是根据原始规则寻找下一个最佳日期,即在这种情况下的日期时间(2013年, 2,27,0,0)。我有什么想法可以实现这个目标吗?