Python日期和时间的计算主要使用自带的datetime和calendar库,部分需要借助第三方dateutil库。下面具体说明时间的加减运算,月份的起始和结束日期,向前向后移动的时间间隔等,代码如下:
from datetime import date, datetime, timedelta
import calendar
from dateutil.relativedelta import relativedelta
# 指定日期向后或向前N个月
# 方法1:使用calendar计算对应月天数,末日加1日方式
my_date = date.today() # 今天日期,也可使用datetime.now()得到当前日期时间
day_num = calendar.monthrange(my_date.year, my_date.month)[1] # 该月的天数
last_date = date(my_date.year, my_date.month, day_num) # 该月最后一天日期
next_date = last_date + timedelta(days=1) # 下个月首日
# 方法2:使用dateutil包,向前向后N个月也可
my_date = my_date + relativedelta(months=1) # my_date结果仍为date类型,如果2025-01-30加1个月则为2025-02-28