【发布时间】:2016-06-29 14:48:24
【问题描述】:
我需要将毫秒转换为秒分小时。我有类似的代码
def convertMillis(millis):
seconds=(milli/1000)%60
minutes=(milli/(1000*60))%60
hours=(milli/(1000*60*60))%24
return
def main():
milli=print(input("Enter time in milliseconds "))
print(hours,":",minutes,":",seconds
main()
但这不是一个很好的解决方案。
我想知道最pythonic的方式来做类似的事情
>>> convertmillis(5500)
0:0:5
【问题讨论】:
-
您在
print通话结束时遗漏了)。 -
您可以使用
minutes, seconds = divmod(milli, 100)、hours, minutes = divmod(minutes, 60)来简化convertMillis()。此外,你没有返回任何东西。你应该说return (hours, minutes, seconds)。此外,在main()中,您将milli定义为print()的返回值。print()总是返回无。您可以从开头取print(,从结尾取)。另外,要打印它,请使用print(":".join(convertMillis(int(milli)))) -
import datetime然后在你的函数中:duration = datetime.timedelta(milliseconds=millis)最后:return (duration.hours, duration.minutes, duration.seconds) -
如果你想要一个更大的数字,你应该删除
% 24几个小时(我需要计算我工作了多少小时,它是 > 24)
标签: python function datetime time