有的时候要统计两个日期之间的相距天数,可能有很多种方法,但使用datetime模块的datetime方法无疑是里面比较简单的,具体代码如下:

>>> import datetime
>>> d1 = datetime.datetime(2018,10,31)   # 第一个日期
>>> d2 = datetime.datetime(2019,02,02)   # 第二个日期
>>> interval = d2 - d1                   # 两日期差距
>>> interval.days                        # 具体的天数                     
>>> interval.seconds                     # 具体的秒数

从上面来看,还是相当简单。具体的days和seconds就是具体的差距的天数和额外的秒数。里面常用的方法有:

>>> filter(lambda x: not x.startswith("_"), dir(interval))
['days', 'max', 'microseconds', 'min', 'resolution', 'seconds', 'total_seconds']

如果是两个日期还是带时,分,秒的话,同样可以算出两者的相距天数及秒数.

>>> import datetime
>>> d1 = datetime.datetime(2018,10,31,10,30,00)
>>> d2 = datetime.datetime(2018,11,01,10,40,30)
>>> interval = d2 - d1
>>> interval                   # 第一项是天数,相距1天
datetime.timedelta(1, 630)
>>> interval.days              # 具体天数
>>> interval.seconds           # 额外秒数
>>> interval.total_seconds()   # 相差总秒数  
87030.0
                    有的时候要统计两个日期之间的相距天数,可能有很多种方法,但使用datetime模块的datetime方法无疑是里面比较简单的,具体代码如下:>>> import datetime>>> d1 = datetime.datetime(2018,10,31)   # 第一个日期>>> d2 = datetime.datetime(2019...
str1 ='4/3/2019' 
str2 ='4/3/2018'
date1=datetime.datetime.strptime(str1[0:10],"%m/%d/%Y")
date2=datetime.datetime.strptime(str2[0:10],"%m/%d/%Y")
数据分析中会遇到日期、时间的计算,主要包括以下几种情况:
对2个日期进行时间值的计算,如多少天(days)、多少小时(hours)、多少分钟(minutes)和多少秒(seconds)
对已知日期进行转换,如增加或减少:如多少天(days)、多少小时(hours)、多少分钟(minutes)和多少秒(seconds)
提取日期中的年份、月份和日子等信息
本文主要针对问题1和问题2,关于问题3,请查看博文:“python提取年月日遇到的问题”(链接:添加链接描述)
问题解决方法:
简单、高效地计算两个日期之间的具体天数。
要求在尽可能短的时间内,对两个包含了最大值600000天以上的6000条乱序日期数据的文件进行交叉计算(A依次取一个数,遍历B文件,即进行36000000次计算)。
# year, month, day均为int
d1 = datetime.date(year1, month1, day1)  
d2 = datetime.date(year2, month2, day2)
print((d1 - d2).days
嗯,就这么简单
				
from datetime import datetime cur_day = datetime(2019, 7, 30) next_day = datetime(2019, 7, 31) print((next_day - cur_day).days) # 1 print(“ok”)
python 两个日期之间天数、周数、月数、年数 1、天数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)先将字符串-->时间格式da
date1 = datetime.strptime(date_str1, '%Y-%m-%d') date2 = datetime.strptime(date_str2, '%Y-%m-%d') delta = date2 - date1 print(delta.days) 在这个示例中,我们首先使用 strptime() 函数将日期字符串转换为 datetime 对象。然后,我们计算两个日期之间异,并使用 days 属性获取天数异。输出将是 9,因为 2021 年 1 月 10 日是从 2021 年 1 月 1 日算起的第 9 天。