Python 将毫秒转换为小时、分钟和秒
我需要将毫秒转换为秒-分-小时。我有这样的代码Python 将毫秒转换为小时、分钟和秒,python,function,datetime,time,Python,Function,Datetime,Time,我需要将毫秒转换为秒-分-小时。我有这样的代码 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,":",minu
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()
但这不是一个很好的解决方案
我想知道做这件事最像蟒蛇的方式
>>> convertmillis(5500)
0:0:5
试试这个:
def convertMillis(millis):
seconds=(millis/1000)%60
minutes=(millis/(1000*60))%60
hours=(millis/(1000*60*60))%24
return seconds, minutes, hours
def main():
millis=input("Enter time in milliseconds ")
con_sec, con_min, con_hour = convertMillis(int(millis))
print("{0}:{1}:{2}".format(con_hour, con_min, con_sec))
main()
问题似乎是:
convertMillis
中,并不意味着main
可以读取它。您必须显式地返回它们打印
、输入
和返回
如果您想要一个单一功能:
millis=input("Enter time in milliseconds ")
millis = int(millis)
seconds=(millis/1000)%60
seconds = int(seconds)
minutes=(millis/(1000*60))%60
minutes = int(minutes)
hours=(millis/(1000*60*60))%24
print ("%d:%d:%d" % (hours, minutes, seconds))
您在
打印
调用结束时漏掉了)
。您可以使用minutes,seconds=divmod(mili,100)
,hours,minutes=divmod(minutes,60)
简化convertMillis()
。而且,你没有归还任何东西。您应该说返回(小时、分钟、秒)
。另外,在main()
中,您将milli
定义为print()
的返回值<代码>打印()始终返回无。您可以从开头开始打印(),从结尾开始打印()。另外,要打印它,请使用print(“:”.join(convertMillis(int(milli)))
import datetime
然后在函数中:duration=datetime.timedelta(毫秒=millis)
最后:返回(duration.hours,duration.minute,duration.seconds)
为什么不利用divmod()
?