给定两个日期,我想使用datetime生成一个具有固定时间长度的日期列表,从较晚的日期开始。例如,给定01/01/2018和01/09/20182 个月的时间间隔,输出将是:[01/01/2018, 01/03/2018, 01/05/2018, 01/07/2018, 01/09/2018]间隔3个月:[01/03/2018, 01/06/2018, 01/09/2018]我不能只使用datetime对象.replace上的方法减去月数,因为从 31 天月到 30 天月会返回错误。
2 回答

慕丝7291255
TA贡献1859条经验 获得超6个赞
我认为relativedeleta模块可以帮助你 -pip install python-dateutil
from dateutil.relativedelta import *
import datetime
date1 = datetime.datetime.strptime('01/01/2018', "%d/%m/%Y").date()
date2 = datetime.datetime.strptime('01/09/2018', "%d/%m/%Y").date()
f = [(date1 + relativedelta(months=i)).strftime("%d/%m/%Y") for i in range(date1.month, date2.month,2)]
结果将是 - ['01/02/2018', '01/04/2018', '01/06/2018', '01/08/2018']
添加回答
举报
0/150
提交
取消