import datetime
def createDates(start=None, days=30, oriented='forward'):
'''
生成年月日列表。
参数
----
start : str, 默认是None
起始日期。
days : int, 默认是30
生成的天数。
oriented:str,默认是'forward'
日期生成方向。'forward'或者'backward'可选。
'forward'表示向未来生成日期列表,'backward'表示向从前生成日期列表。
return
------
date_list : list
年月日列表。
'''
if start is None:
start = datetime.datetime.now().strftime('%Y-%m-%d')
# 转为日期格式
start = datetime.datetime.strptime(start,'%Y-%m-%d')
date_list = []
date_list.append(start.strftime('%Y-%m-%d'))
day = 1
if oriented == 'forward':
while day < days:
# 日期叠加一天
day += 1
start += datetime.timedelta(days=1)
# 日期转字符串存入列表
date_list.append(start.strftime('%Y-%m-%d'))
elif oriented == 'backward':
while day < days:
# 日期叠加一天
day += 1
start -= datetime.timedelta(days=1)
# 日期转字符串存入列表
date_list.append(start.strftime('%Y-%m-%d'))
date_list = date_list[::-1]
else:
raise IOError("请输入正确的日期生成方向:'forward'或者'backward'。")
return date_list
