0

我有一个像这样的 timedelta 时间:

datetime.timedelta(0, 175, 941041)

我想将其转换为持续时间。例如:

1 second 
2-59 seconds
1 minute
2minutes-59minutes
1 hour
1 hour 50 minutes
2 hours
1 day 5 hours 45 minutes

我怎样才能在 Python 中做到这一点?

首先,我尝试将 timedelta 转换为这样的秒数,然后再转换为持续时间:

def timedelta_to_seconds(td):
    return td.microseconds + (td.seconds + td.days * 86400) 

但是在运行此功能时出现此错误:

AttributeError: 'function' object has no attribute 'microseconds'
4

2 回答 2

1

你可以做

>>> import datetime
>>> str(datetime.timedelta(0, 175, 941041))
'0:02:55.941041'

现在您可以获得小时、分钟、秒和毫秒。

或者

如果你想要漂亮的可读时间增量,请参考这篇文章

于 2013-06-27T04:27:22.783 回答
1

我认为你传递给这个函数的不是时间增量,这就是它没有属性微秒的原因。

我不时有这个,当我调用一个函数来获取 timedelta 作为

a=get_my_timedelta

代替

a=get_my_timedelta()
于 2013-06-27T04:36:39.603 回答