Какую дату и время Python или метод времени я должен использовать для преобразования времени в HH:MM:SS к десятичному времени в секундах? Времена представляют продолжительности времени (большинство составляет меньше чем минуту), и не подключены к дате.
t = "1:12:23"
(h, m, s) = t.split(':')
result = int(h) * 3600 + int(m) * 60 + int(s)
Если под «десятичным временем» вы подразумеваете целое число секунд, то вы, вероятно, захотите использовать 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')