惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
博客园 - 【当耐特】
量子位
博客园 - 叶小钗
有赞技术团队
有赞技术团队
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 司徒正美
爱范儿
爱范儿
美团技术团队
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
D
DataBreaches.Net
宝玉的分享
宝玉的分享

博客园 - 小墨的童鞋

git操作中出现Unlink of file '......' failed. Should I try again? IDEA建立Spring MVC Hello World 详细入门教程 IDEA手工添加webapp目录 解决错误:Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package. IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8 发票打印不全不完整的解决方案(Win10) Idea checkstyle插件的使用 .Net转Java.08.format 修复恢复"可疑"的SQLServer数据库 .Net转Java.07.IDEA和VS常用操作、快捷键对照表 .Net转Java.06.字符串的split的区别 .Net转Java.05.为啥MySQL没有nolock .Net转Java.04.踩到switch的坑 .Net转Java.03.受查异常和非受查异常 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的 .Net转Java.02.数据类型 .Net转Java.01.从Main(main)函数说起 IDEA下Maven的Offline Mode 修改Arduino IDE默认字体
python计算月份的加减
小墨的童鞋 · 2021-06-22 · via 博客园 - 小墨的童鞋

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