Время до десятичного времени в Python - PullRequest
8 голосов
/ 23 июня 2010

Какой метод даты и времени Python следует использовать для преобразования времени в формате ЧЧ: ММ: СС в десятичное время в секундах?Времена представляют продолжительность времени (большинство из них меньше минуты) и не связаны с датой.

Ответы [ 3 ]

15 голосов
/ 23 июня 2010
t = "1:12:23"
(h, m, s) = t.split(':')
result = int(h) * 3600 + int(m) * 60 + int(s)
7 голосов
/ 23 июня 2010

Если под "десятичным временем" вы подразумеваете целое число секунд, то вы, вероятно, захотите использовать 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 голосов
/ 30 августа 2012

Использование модуля datetime:

>>> t = datetime.time(12,31,53)
>>> ts = t.hour * 3600 + t.minute * 60 + t.second
>>> print ts
45113
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...