Python 计算两个日期之间天数

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

>>> import datetime
>>> d1 = datetime.datetime(2018,10,31)   # 第一个日期
>>> d2 = datetime.datetime(2019,2,2)   # 第二个日期
>>> 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,0)
>>> d2 = datetime.datetime(2018,11,1,10,40,30)
>>> interval = d2 - d1
>>> interval                   # 第一项是天数,相距1天
datetime.timedelta(1, 630)
>>> interval.days              # 具体天数
1
>>> interval.seconds           # 额外秒数
630
>>> interval.total_seconds()   # 相差总秒数  
87030.0
>>>