从IPython控制台:
In [16]: b Out[16]: datetime.datetime(2008, 3, 1, 0, 0) In [17]: e Out[17]: datetime.datetime(2010, 5, 2, 0, 0) In [18]: rrule(MONTHLY).between(b, e, inc=True) Out[18]: [datetime.datetime(2009, 3, 6, 14, 42, 1), datetime.datetime(2009, 4, 6, 14, 42, 1), datetime.datetime(2009, 5, 6, 14, 42, 1), datetime.datetime(2009, 6, 6, 14, 42, 1), datetime.datetime(2009, 7, 6, 14, 42, 1), datetime.datetime(2009, 8, 6, 14, 42, 1), datetime.datetime(2009, 9, 6, 14, 42, 1), datetime.datetime(2009, 10, 6, 14, 42, 1), datetime.datetime(2009, 11, 6, 14, 42, 1), datetime.datetime(2009, 12, 6, 14, 42, 1), datetime.datetime(2010, 1, 6, 14, 42, 1), datetime.datetime(2010, 2, 6, 14, 42, 1), datetime.datetime(2010, 3, 6, 14, 42, 1), datetime.datetime(2010, 4, 6, 14, 42, 1)]
如何between()
从开始日期开始返回日期b
?
你需要传入b
rrule,像这样:
rrule(MONTHLY, dtstart = b).between(b, e, inc=True)
从这些文档(http://labix.org/python-dateutil)看,调用rrule而不指定dtstart将使用datetime.datetime.now()作为您稍后应用的序列的起点between
.这就是为什么你的价值观始于2009-03-06.