是个Python新手,在格式化一个datetime.timedelta
对象。
已经尝试过各种方法来做这件事,而且遇到了困难。我的当前方法是为返回小时和分钟的对象向类添加方法。我可以用时间增量来计算时间。3600秒,然后把它四舍五入。我很难把剩下的秒转换成分钟。
发布于 2017-12-27 12:27:54
您只需使用str()将timeDelta转换为字符串即可。下面是一个例子:
import datetime
start = datetime.datetime(2009,2,10,14,00)
end = datetime.datetime(2009,2,10,16,00)
delta = end-start
print str(delta)
# prints 2:00:00
发布于 2017-12-27 13:49:31
如你所知,可以通过访问.seconds
属性。
可以使用模块化和减法相结合的方法将其转换为小时和余数:
# arbitrary number of seconds
s = 13420
# hours
hours = s // 3600
# remaining seconds
s = s - (hours * 3600)
# minutes
minutes = s // 60
# remaining seconds
seconds = s - (minutes * 60)
# total time
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40
但是,python提供了内置函数divmod(),它允许我们简化以下代码:
s = 13420
hours, remainder = divmod(s, 3600)
minutes, seconds = divmod(remainder, 60)
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40
希望这能帮上忙!
https://stackoverflow.com/questions/-100001308
复制相似问题