如何获得两个24小时之间的差异?

时间:2016-09-30 09:08:25

标签: python pandas

pandas中有一种简单的方法可以区分24小时,如下所示:

9:45 17:10

差异是7小时25分钟,即445分钟。

2 个答案:

答案 0 :(得分:4)

不确定

>>> from pandas import Timestamp
>>> Timestamp('9:45')    
Timestamp('2016-09-30 09:45:00')
>>> Timestamp('17:10')
Timestamp('2016-09-30 17:10:00')
>>> Timestamp('17:10') - Timestamp('9:45')
Timedelta('0 days 07:25:00')
>>> td = Timestamp('17:10') - Timestamp('9:45')
>>> td
Timedelta('0 days 07:25:00')

如果你真的需要几分钟的时间:

>>> td.seconds/60
445
>>>

编辑

只需仔细检查文档,Timedelta对象的seconds属性返回:Number of seconds (>= 0 and less than 1 day)

所以,如果你想要分钟,要真正安全,请使用:

>>> td.delta # returns the number of nanoseconds   
26700000000000
>>> td.delta * 1e-9 / 60
445.0

答案 1 :(得分:3)

我认为您也可以在不安装pandas的情况下使用Python标准库datetime.datetime

>>> t1 = datetime.datetime.strptime('09:45', '%H:%M')
>>> t2 = datetime.datetime.strptime('17:10', '%H:%M')
>>> t1
datetime.datetime(1900, 1, 1, 9, 45)
>>> t2
datetime.datetime(1900, 1, 1, 17, 10)
>>> td = t2 - t1
>>> td.total_seconds()
26700.0
>>> str(td)
'7:25:00'