菜鸟笔记
提升您的技术认知

Python计算两个日期之间天数

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

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

从上面来看,还是相当简单。具体的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              # 具体天数
1
>>> interval.seconds           # 额外秒数
630
>>> interval.total_seconds()   # 相差总秒数  
87030.0
>>>