我有一个以分钟为单位的经过时间列表,我正在尝试将它们重新格式化为周、天、小时和分钟的字符串。
例如,7,480 分钟 = 3 周 4 小时 40 分钟。
我希望格式是这样的:'3w4h40m'
使用divmod
我编写的函数将分钟分解为周、天、小时和分钟并返回字符串:
def formattime(time):
tl = [divmod(divmod(divmod(time,60)[0],8)[0],5)[0],divmod(divmod(divmod(time,60)[0],8)[0],5)[1],divmod(divmod(time,60)[0],8)[1],divmod(time,60)[1]]
timestring = str(tl[0])+'w'+str(tl[1])+'d'+str(tl[2])+'h'+str(tl[3])+'m'
return timestring
但是,如果数字为零,我不希望它返回任何几周、几天、几小时或几分钟的数字:
>>> formattime(7480)
'3w0d4h40m'
有没有一种pythonic和直接的返回方式'3w4h40m'
?