python获取两个日期之间的月份列表
import datetime
def get_month_range(start_day,end_day):
date_format = "%Y-%m-%d"
start_day = datetime.datetime.strptime(start_day, date_format)
end_day = datetime.datetime.strptime(end_day, date_format)
months = (end_day.year - start_day.year)*12 + end_day.month - start_day.month
month_range = ['%s-%s'%(start_day.year + mon//12,mon%12+1)
for mon in range(start_day.month-1,start_day.month + months)]
month_range = [i if len(i) == 7 else i.split('-')[0] + '-0' + i.split('-')[1] for i in month_range].reverse()
return month_range
month_range = get_month_range('2022-01-1','2023-03-09')
print(month_range)
输出效果:
[‘2022-1’, ‘2022-2’, ‘2022-3’, ‘2022-4’, ‘2022-5’, ‘2022-6’, ‘2022-7’, ‘2022-8’, ‘2022-9’, ‘2022-10’, ‘2022-11’, ‘2022-12’, ‘2023-1’, ‘2023-2’, ‘2023-3’]