将timedelta输出转换为小时,分钟和秒Python

时间:2019-11-28 09:36:49

标签: python-3.x timedelta

我需要将timdelta变量转换为小时,分钟和秒,在this的帮助下,我设法做到了

但结果不准确

from datetime import datetime, timedelta
startDateTime = datetime.now()
#Do some work
print(startDateTime)
endDateTime=datetime.now()
print(endDateTime)
diff = (endDateTime - startDateTime)
print('diff with microS',diff)
diff = diff - timedelta(microseconds=diff.microseconds)    
print('diff w/o microS',diff)
diff = '%02d:%02d:%02d' % (diff.days*24 + diff.seconds // 3600, (diff.seconds % 3600) // 60, diff.seconds // 60)
print('Heures de roulage ',diff)

在我的示例中

diff with microS 0 days 00:07:02.710529
diff w/o microS 0 days 00:07:02
Heures de roulage  0:07:07

我不明白为什么将这5秒加了 0天00:07:02 变成了 0:07:07

1 个答案:

答案 0 :(得分:0)

在此行diff = '%02d:%02d:%02d' % (diff.days*24 + diff.seconds // 3600, (diff.seconds % 3600) // 60, diff.seconds // 60) 改为将//替换为% ==> diff = '%02d:%02d:%02d' % (diff.days*24 + diff.seconds // 3600, (diff.seconds % 3600) // 60, diff.seconds % 60)

相关问题