- python 更好地增加日期月份的方法?

我有一个像整型这样的日期,例如: 201805 我希望有一种方法可以给出开始日期,返回下一个日期,在这个例子中 201806.目前,我有这个解决方案:


def incrementDate(startdate):


 try:


 newdate = dt.datetime.strptime(str(startdate + 1),"%Y%m")


 return str(newdate.year) + newdate.strftime('%m')


 except:


 newdate = dt.datetime.strptime(str(startdate),"%Y%m")


 return int(str(newdate.year + 1) +"01")



这是一个很好的解决方法,有没有更好的简单方法?

时间:

使用relativedelta怎么样:

你的第一步是安装软件包 dateutil:


pip install dateutil



然后你就可以使用它了:


import datetime


from dateutil.relativedelta import relativedelta


print(datetime.datetime.strptime(str(201805),"%Y%m") + relativedelta(months=1))



注意relativedelta来自一个名为'dateutil'的独立包这里有详细信息 它包含了一个添加 month/days/year.的好方法。 不用创建自定义函数。

...