python计算月份的加减

当然可以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)

 

posted @ 2021-06-22 17:34  小墨的童鞋  阅读(281)  评论(0编辑  收藏  举报