如何从Django中的start_date和end_date获取持续时间?

时间:2013-01-04 09:51:26

标签: python datetime

这两个变量计算并存储日期和时间:

start_date = datetime.datetime.utcnow().replace(tzinfo=utc)
end_date = datetime.datetime.utcnow().replace(tzinfo=utc)

我想计算持续时间:我只是这样做: duration = start_date - end_date

它会像这样返回datetime.timedelta datatype

datetime.timedelta(-1, 86393, 797032)

我想显示持续时间。如果持续时间是15分钟,我想显示15分钟,如果它是60我想要显示1小时左右。我怎样才能做到这一点?感谢

1 个答案:

答案 0 :(得分:0)

只需打印出来:

>>> d = datetime.timedelta(-1, 86393, 797032)
>>> d
datetime.timedelta(-1, 86393, 797032)
>>> print(d)
-1 day, 23:59:53.797032

或者,对于更精细的控制:

>>> d.days
-1
>>> hours, remainder = divmod(d.seconds, 3600)
>>> minutes, seconds = divmod(remainder, 60)
>>> d.days,hours,minutes,seconds
(-1, 23, 59, 53)