如何使用python或pandas计算两个日期之间的月份

1.背景阐述

近期,在使用Python计算两个日期之间的月份时,发现没有相关的方法来计算(可能有我没接触到该方法,有时间的小伙伴可以找找看),应用场景如下:
开始日期:“2020-05-05”
结束日期: “2020-06-01”
两个日期间隔27天不足30天,需要输出的月份为1
开始日期:“2020-05-05”
结束日期: “2020-06-25”
两个日期间隔51天超过30天,需要输出的月份为1

2.实现方法

def get_month(begin,end):
    begin_year,end_year=begin.year,end.year
    begin_month,end_month=begin.month,end.month
    if begin_year==end_year:
        months=end_month-begin_month
    else:
        months=(end_year-begin_year)*12+end_month-begin_month
    return months

效果检验如下:

from datetime import datetime
begin_date=datetime.strptime("2020-05-05","%Y-%m-%d")
end_date=datetime.strptime("2020-06-25","%Y-%m-%d")
get_month(begin_date,end_date)

截图如下:
截图

3.后话

如果是按照30天来计算的话,只需要按照days天数,直接除以30,然后取整就可以了。在这里介绍一种常用的月份处理方法,将间隔的天数除以30.43来进行换算,然后向上进一位取整,来获取相应的间隔月份。
OK,就到这里了,如果有什么建议,直接留言即可~

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

theskylife

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

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

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

打赏作者

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

抵扣说明:

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

余额充值