python简单获取两个日期之间的年度、月度、天数差的方法

    最近因为要做一些简单的结算工作,里面有一些规则需要对年度、月份、天数进行比较,在网上查了半天,忽然发现python进行年度、月份、日期处理这么难?!居然只是要计算两个时间之间的月份差,还要数十行代码!
     有点不敢相信,所以自己写了一个日期和月份差的函数,现推荐给大家(通过datetime包实现):

import datetime
def days(str1,str2):
    date1=datetime.datetime.strptime(str1[0:10],"%Y-%m-%d")
    date2=datetime.datetime.strptime(str2[0:10],"%Y-%m-%d")
    num=(date1-date2).days
    return num

def months(str1,str2):
    year1=datetime.datetime.strptime(str1[0:10],"%Y-%m-%d").year
    year2=datetime.datetime.strptime(str2[0:10],"%Y-%m-%d").year
    month1=datetime.datetime.strptime(str1[0:10],"%Y-%m-%d").month
    month2=datetime.datetime.strptime(str2[0:10],"%Y-%m-%d").month
    num=(year1-year2)*12+(month1-month2)
    return num


输入days('2018-04-23 08:18:09','2017-03-21 10:19:33') ,返回398
输入months('2018-01-23 08:18:09','2017-03-21 10:19:33'),返回10
python简单获取两个日期之间的年度、月度、天数差的方法_第1张图片

你可能感兴趣的:(python)