Python calculates the difference in days between two dates (datetime, parse, rrule), seconds difference, week difference, month difference, year difference

Python calculates the difference in days, weeks, months, and years between two dates

1. The number of days difference (datetime, parse, rrule)

import datetime as dt
from dateutil import parser
from dateutil import rrule
######################################## date形式天数差
d1 = '2019-07-26'
d2 = '2020-08-01'
######## 法1
# (1)先将字符串-->时间格式date
date1 = dt.datetime.strptime(d1, "%Y-%m-%d").date()  ##datetime.date(2018, 1, 6)
date2 = dt.datetime.strptime(d2, "%Y-%m-%d").date()  ##datetime.date(2018, 1, 9)
# (2)计算两个日期date的天数差
Days = (date2 - date1).days
######## 法2
Days = (parser.parse(d2) - parser.parse(d1)).days
######## 法3
Days = rrule.rrule(rrule.DAILY, dtstart = date1, until = date2).count()

######################################## datetime形式天数差
date1 = dt.datetime(2019, 7, 26, 15, 35, 10)  
date2 = dt.datetime(2020, 8, 1, 18, 30, 20) 
######## 法1
Days = (date2 - date1).days
######## 法2
Days = (parser.parse(d2) - parser.parse(d1)).days
######## 法3
Days = rrule.rrule(rrule.DAILY, dtstart = date1, until = date2).count() 

2. Seconds difference (seconds, microseconds)

# 秒数差 
Seconds = (date2 - date1).seconds  
# 毫秒数
Microseconds = (date2 - date1).microseconds  

3. Week number difference (rrule)

Weeks = rrule.rrule(rrule.WEEKLY, dtstart = date1, until = date2).count() 

4, month difference (rrule)

Months = rrule.rrule(rrule.MONTHLY, dtstart = date1, until = date2).count()  

5, year difference

Years = rrule.rrule(rrule.YEARLY, dtstart = date1, until = date2).count()  

Guess you like

Origin blog.csdn.net/weixin_40012554/article/details/108759160