python --计算两个月份的差值

带年份计算

from datetime import datetime

def months_difference(year1, month1, year2, month2):
    # 创建两个日期对象
    date1 = datetime(year1, month1, 1)
    date2 = datetime(year2, month2, 1)
    
    # 计算相差的月份
    diff = (date2.year - date1.year) * 12 + (date2.month - date1.month)
    
    return diff

# 示例使用
year1, month1 = 2023, 1  # 2023年1月
year2, month2 = 2024, 5  # 2024年5月

difference = months_difference(year1, month1, year2, month2)
print(f"相差的月份数: {difference}")

直接计算a至b相差的实际月份

考虑到月份的环绕(例如,从 12 月到 1 月)

def months_difference(month1, month2):
    # 计算相差的月份
    if month2 >= month1:
        diff = month2 - month1
    else:
        diff = (12 - month1) + month2
    
    return diff

# 示例使用
# 计算 8 月到 12 月
difference1 = months_difference(8, 12)
print(f"8月到12月相差的月份数: {difference1}")

# 计算 12 月到 1 月
difference2 = months_difference(12, 1)
print(f"12月到1月相差的月份数: {difference2}")

# 计算 1 月到 8 月
difference3 = months_difference(1, 8)
print(f"1月到8月相差的月份数: {difference3}")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像风一样的男人@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值