我正在尝试创建一个生成器函数以在工作日(工作日)内进行迭代,跳过周末(假期也将很不错!)。到目前为止,我只有一个简单地迭代几天的函数:

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/

10-12 02:34