标签:date1 Mdate mdatevalue 时间差 print 计算 date Ddate
''' 计算时间差 ''' import time import math import datetime from datetime import timedelta from calendar import monthrange """时间格式化""" def date_format(date): # 时间字符串解析为时间元组 date = time.strptime(date, "%Y%m%d") # 时间戳转换成datetime对象 date = datetime.datetime(date[0], date[1], date[2]) return date """计算天数差值方法20191127-20181127""" def Ddate(date, date1): date =date_format(date) date1 = date_format(date1) if date == date1: Ddatevalue=1 # 时间相等取1 else: Ddatevalue = abs((date - date1).days)# 取绝对值 return Ddatevalue """计算月份差值方法yyyymmdd""" def Mdate(date, date1): Mdatevalue =Ddate(date, date1) Mdatevalue = math.ceil(Mdatevalue / 30) return Mdatevalue """计算月份差值方法yyyymm""" def mdate(date, date1): date = time.strptime(date, "%Y%m%d") date1 = time.strptime(date1, "%Y%m") mdatevalue = (date[0]-date1[0])*12+(date[1]-date1[1]) if mdatevalue==0: mdatevalue=1 else: mdatevalue=mdatevalue print('月份差:', mdatevalue) """计算月份差值方法yyyymm""" def mdate2(date, date1): date = time.strptime(date, "%Y%m") date1 = time.strptime(date1, "%Y%m") mdatevalue = (date[0]-date1[0])*12+(date[1]-date1[1]) if mdatevalue==0: mdatevalue=1 else: mdatevalue=mdatevalue print('月份差:', mdatevalue) def monthdelta(d1, d2): delta = 0 while True: mdays = monthrange(d1.year, d1.month)[1] d1 += timedelta(days=mdays) if d1 <= d2: delta += 1 else: break return delta """计算年份差值方法yyyy""" def Ydate(date, date1): date = date[0:4] date1 = date1[0:4] if date==date1: Ydatevalue =1 else: Ydatevalue = abs(int(date) - int(date1)) print('年份差:', Ydatevalue) return Ydatevalue if __name__ == "__main__": # print(Mdate('20190228','20191220')) # mdate(date,date1) # d1 = time.strptime('201911', "%Y%m") # monthdelta(d1,'201802') print(mdate('20221231','202210')) # < PD01AR01 > 2019 - 12 - 20 < / PD01AR01 > # < PD01AR02 > 2019 - 02 - 28 < / PD01AR02 > # print('天数差为:', Ddate('20191020','20191228')) # print('天数差为:', Ddate('20190228','20191226')) # print('天数差为:', Ddate('20191228','20191028')) # print('天数差为:', Ddate('20191228','20191128')) # print('天数差为:', Ddate('20191228','20190630')) # print(mdate2('201910','201809')) # print('天数差为:', Ddate('20191220','20190228')) # mdate('20191127', '201908') # print(Mdate('20191228','20181120')) # print(Mdate('20220528','20210630')) # print(Mdate('20220528','20211130')) # print(Mdate('20220528','20220302')) # print(Mdate('20191221','20180829')) # print(Mdate('20191228','20141227')) # print(Mdate('20191228','20190928')) # print(date_format('20191101')) # print(342/12) # print(monthdelta('202006','201801'))
标签:date1,Mdate,mdatevalue,时间差,print,计算,date,Ddate 来源: https://www.cnblogs.com/zjjing/p/16575275.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。