处理前从rrule中排除日历假日

2024-09-22 14:39:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python-dateutil包中的rrule方法。我想创建一个规则,可以忽略假日日历中的日期。我知道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)]

我希望rrule不要忽略datetime(2013,2,28,0,0),而是根据原来的规则查找下一个最佳日期,即在本例中,datetime(2013,2,27,0,0)。你知道我怎么做到的吗?在


Tags: 方法fromimport列表datetime规则outputslist