有什么方法可以运行dateutils.rrule.rrule回到过去吗?例如,我想
[dt.datetime(2014, 8, 29, 0, 0),
dt.datetime(2014, 9, 5, 0, 0),
dt.datetime(2014, 9, 12, 0, 0),
dt.datetime(2014, 9, 19, 0, 0),
dt.datetime(2014, 9, 26, 0, 0)]在本例中:
import datetime as dt
from dateutil.rrule import rrule, WEEKLY
date0 = dt.datetime(2014, 10, 3)
date1 = dt.datetime(2014, 8, 26)
rrule(WEEKLY, dtstart=date0).between(date0, date1)但是,这给了我一个空名单..。
*插入悲伤、皱眉的脸*
发布于 2014-10-03 21:08:24
import datetime as dt
import dateutil.rrule as RR
date0 = dt.datetime(2014, 10, 3)
date1 = dt.datetime(2014, 8, 26)
start = min([date0, date1])
end = max([date0, date1])
dow = RR.weekday(date0.weekday())
print(RR.rrule(RR.WEEKLY, byweekday=dow, dtstart=start).between(start, end))收益率
[datetime.datetime(2014, 8, 29, 0, 0),
datetime.datetime(2014, 9, 5, 0, 0),
datetime.datetime(2014, 9, 12, 0, 0),
datetime.datetime(2014, 9, 19, 0, 0),
datetime.datetime(2014, 9, 26, 0, 0)]我不认为有一种方法可以用dtstart=date0定义一个规则,它在date0之前生成日期。您必须使用较早的日期。此外,必须用between(a, b)调用a <= b,否则结果将为空。
https://stackoverflow.com/questions/26186753
复制相似问题