这是一个小功能,一个时间点,比如2月15号,我们需要根据这个日期往后加一个月,怎么办,一般来说,可以使用 datetime 这个模块。
datetime.datetime.strptime('2020-02-15 00:00:00') + datetime.timedelta(days = 31)
以上这个操作是在原日期往后加上31天,但是这个操作,有个问题,比如当月只有30天,或者2月,碰上平年只有28天,闰年有29天,挨个去适配的话会比较麻烦,那么我们可以使用 dateutil 这个模块,直接操作月份,如下是使用语法:
from dateutil.relativedelta import *
datetime.datetime.strptime('2020-01-31 00:00:00') + relativedelta(months = +1)
不管上一个月有多少天,如果日期是上个月的最后一天,只要比下一个月的月份总天数大,都会被适配成下个月的最后一天。
如上,上个月是2020年1月31日,那么下个月就被会适配成2020年2月29日,该月的最后一天。