python中日期的迭代器
我有一个开始日期python中日期的迭代器,python,date,iterator,Python,Date,Iterator,我有一个开始日期datetime.date(2012,9,1)和一个结束日期datetime.date(2012,9,30) 我想得到一个迭代器或列表,其中包括日期2012/9/1至2012/9/30。除了循环之外,是否有其他方法使迭代器或列表使用生成器: from datetime import date, timedelta def dategenerator(start, end): current = start while current <= end:
datetime.date(2012,9,1)
和一个结束日期datetime.date(2012,9,30)
我想得到一个迭代器或列表,其中包括日期2012/9/1至2012/9/30。除了循环之外,是否有其他方法使迭代器或列表使用生成器:
from datetime import date, timedelta
def dategenerator(start, end):
current = start
while current <= end:
yield current
current += timedelta(days=1)
如果没有隐式循环,您可以执行以下操作:
from datetime import date
from dateutil.rrule import rrule, DAILY
iterdates=iter(rrule(DAILY, dtstart=date(2012, 9, 1), until=date(2012, 9, 30)))
每个Martijn Pieters
python
answer中法律要求的强制性+1回答:-PNo,您需要一个循环-但是您可以将循环埋在函数/生成器中,这样您就不必再看到它了。
from datetime import date
from dateutil.rrule import rrule, DAILY
iterdates=iter(rrule(DAILY, dtstart=date(2012, 9, 1), until=date(2012, 9, 30)))