Python 如何计算两个24小时时间之间的差值?
在熊猫身上有没有一种简单的方法来区分24小时时间的不同,如下所示:Python 如何计算两个24小时时间之间的差值?,python,pandas,Python,Pandas,在熊猫身上有没有一种简单的方法来区分24小时时间的不同,如下所示: 9:45 17:10 差别是7小时25分钟,也就是445分钟。当然: >>> from pandas import Timestamp >>> Timestamp('9:45') Timestamp('2016-09-30 09:45:00') >>> Timestamp('17:10') Timestamp('2016-09-30 17:10:00') >&
9:45 17:10
差别是7小时25分钟,也就是445分钟。当然:
>>> 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
属性就会返回:秒数(>=0且小于1天)
因此,为了确保安全,如果您需要分钟,请使用:
>>> td.delta # returns the number of nanoseconds
26700000000000
>>> td.delta * 1e-9 / 60
445.0
我认为您也可以使用Python标准库
datetime.datetime
,而无需安装pandas
>>> 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'
时间戳中的日期是否根据当前系统的日期生成?如果是这样的话,如果第一个时间戳是今天创建的,第二个是明天创建的(如果这恰好是在晚上00:00左右执行的话),会发生什么呢?我只能猜测,会发生的就是创建一个有害的bug。我想为了绝对安全,你也应该提供一个日期。