Python时间对象超过24小时的处理

13 投票
2 回答
15268 浏览
提问于 2025-04-15 23:15

我有一个Linux的时间格式是hh:mm:sec,但hh可以超过24小时。所以如果时间是1天12小时,那就是36:00:00。有没有办法把这个格式轻松转换成时间对象?

我其实想做的是,把需要的时间,比如36:00:00,和已经运行的时间4:46:23相减,算出剩余的时间。我觉得在Python中,使用时间差(time delta)可能是最方便的方法,不过我也愿意听听其他的建议。

谢谢。

2 个回答

10

你需要的是一个叫做timedelta的对象:http://docs.python.org/library/datetime.html#timedelta-objects

比如说,36个小时:

d = timedelta(hours=36)
16

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

撰写回答