每当我使用7月31日或10月31日这样的月份作为31的日子时,以下代码给我一个值错误。我想知道为什么会出现值错误。
from datetime import datetime
date_format = "%Y-%m-%d"
def date_to_str(date_obj):
return date_obj.strftime(date_format)
def str_to_date(str_obj):
return datetime.strptime(str_obj, date_format)
first_date = str_to_date('2018-07-31')
tenure = 6
dates = [first_date]
for i in range(1, tenure):
date = dates[i - 1]
if date.month == 12:
date = date.replace(year=date.year + 1, month=1)
else:
date = date.replace(month=date.month + 1)
dates.append(date)
print(dates)