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

推荐订阅源

D
Docker
G
Google Developers Blog
J
Java Code Geeks
B
Blog
C
Check Point Blog
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
I
InfoQ
A
About on SuperTechFans
WordPress大学
WordPress大学
F
Fortinet All Blogs
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
月光博客
月光博客
Y
Y Combinator Blog
Jina AI
Jina AI
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 小墨的童鞋

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)