Объекты времени Python с более чем 24 часами - PullRequest
8 голосов
/ 27 мая 2010

У меня время выхода из Linux в формате чч: мм: с, но чч может быть больше 24 часов. Поэтому, если время составляет 1 день 12 часов, это будет 36:00:00. Есть ли способ взять этот формат и легко сделать объект времени?

Что я действительно хотел бы сделать, так это взять требуемое время, то есть 36:00:00, и время, в течение которого оно работало 4:46:23, и вычесть два, чтобы получить оставшееся время. Я подумал, что дельта времени может быть наиболее удобным способом сделать это в Python, но я также буду открыт для других предложений.

Спасибо.

Ответы [ 2 ]

13 голосов
/ 27 мая 2010

timedelta действительно то, что вы хотите. Вот более полный пример, который делает то, что вы просили.

>>> import datetime
>>> a = datetime.timedelta(hours=36)
>>> b = datetime.timedelta(hours=4, minutes=46, seconds=23)
>>> c = a - b
>>> print c
1 day, 7:13:37
9 голосов
/ 27 мая 2010

Вам нужен объект timedelta: http://docs.python.org/library/datetime.html#timedelta-objects

36 часов:

d = timedelta(hours=36)
...