我正在尝试创建一个生成器函数以在工作日(工作日)内进行迭代,跳过周末(假期也将很不错!)。到目前为止,我只有一个简单地迭代几天的函数:
def daterange(startDate, endDate):
for i in xrange(int((endDate - startDate).days)):
yield startDate + timedelta(i)
我正在努力寻找一种干净,有效和Python方式,以使生成器跳过周末和节假日。提前致谢!
最佳答案
我强烈建议您使用dateutil库执行此类任务。一个基本的(不忽略假期)迭代器在工作日内就是:
from dateutil.rrule import DAILY, rrule, MO, TU, WE, TH, FR
def daterange(start_date, end_date):
return rrule(DAILY, dtstart=start_date, until=end_date, byweekday=(MO,TU,WE,TH,FR))
关于Python日期范围生成器在工作日内,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11550314/