当然可以pip install python-dateutil
但是服务器上我没法安装其他的包,所以手工写了一个
如果是遇到小月的31号,自动调整到30日,2月份相似处理
如果跨年,年份加1
def add_months(start, months): year = start.year + months // 12 month = (start.month + months % 12) % 12 if month == 0: month = 12 day = start.day max_day = calendar.monthrange(year, month)[1] # 获取某个月最多多少天 if day > max_day: day = max_day return datetime.datetime(year, month, day, hour=start.hour, minute=start.minute, second=start.second, microsecond=start.microsecond)