最近因为要做一些简单的结算工作,里面有一些规则需要对年度、月份、天数进行比较,在网上查了半天,忽然发现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