Python中十进制时间的时间

时间:2010-06-23 01:04:25

标签: python time

我应该使用哪种Python日期时间或时间方法将HH:MM:SS中的时间转换为以秒为单位的十进制时间?时间表示持续时间(大多数小于一分钟)并且未与日期相关联。

3 个答案:

答案 0 :(得分:15)

t = "1:12:23"
(h, m, s) = t.split(':')
result = int(h) * 3600 + int(m) * 60 + int(s)

答案 1 :(得分:7)

如果按“十进制时间”表示整数秒,那么您可能想要使用datetime.timedelta

>>> import datetime
>>> hhmmss = '02:29:14'
>>> [hours, minutes, seconds] = [int(x) for x in hhmmss.split(':')]
>>> x = datetime.timedelta(hours=hours, minutes=minutes, seconds=seconds)
>>> x
datetime.timedelta(0, 8954)
>>> x.seconds
8954

(如果你真的想要一个Decimal,当然,它很容易到达那里......)

>>> import decimal
>>> decimal.Decimal(x.seconds)
Decimal('8954')

答案 2 :(得分:2)

使用datetime模块:

>>> t = datetime.time(12,31,53)
>>> ts = t.hour * 3600 + t.minute * 60 + t.second
>>> print ts
45113