记录下最近工作中的需求,可以自行改成返回列表的
获取给定时间范围内的日期
def get_date_iter(start_date, end_date):
"""
获取指定时间段内的日期
:param start_date: 起始时间 --> str YYYYmmdd
:param end_date: 结束时间 --> str YYYYmmdd
:return: iter
"""
dt = datetime.datetime.strptime(start_date, '%Y%m%d')
date = start_date[:]
yield date
while date < end_date:
dt = dt + datetime.timedelta(days=1)
date = dt.strftime("%Y%m%d")
yield date
获取给定时间范围内的月份
def get_month_iter(start_month, end_month):
"""
获取时间段内的月份
:param start_month: 开始月份 --> str YYYYmm
:param end_month: 结束月份 --> str YYYYmm
:return: iter
"""
dt = datetime.datetime.strptime(start_month, '%Y%m')
month = start_month[:]
yield month
while month < end_month:
dt = dt + datetime.timedelta(days=calendar.monthrange(dt.year, dt.month)[1])
month = dt.strftime("%Y%m")
yield month