将毫秒转换为小时、分钟和秒 python

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35989666/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 17:14:12  来源:igfitidea点击:

Convert milliseconds to hours, min, and seconds python

pythonfunctiontime

提问by lunaferie

I'm just starting this code out but when i try to run it i keep getting invalid syntax over the main.

我刚刚开始这段代码,但是当我尝试运行它时,我不断收到无效的语法。

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()

why is that?? And am i on the right track on getting it to out put in the right format.

这是为什么??我是否在以正确的格式发布它的正确轨道上。

I would like it to show ex. convertmillies(5500) returns 0:0:5

我希望它显示前。convertmillies(5500) 返回 0:0:5

please help

请帮忙

update

更新

def convertMillis(millis):
    millis = int(millis)
    seconds=(millis/1000)%60
    seconds = int(seconds)
    minutes=(millis/(1000*60))%60
    minutes = int(minutes)
    hours=(millis/(1000*60*60))%24

    return (hours, minutes, seconds)

def main():
    millis=input("Enter time in milliseconds ")

    print ("%d:%d:%d" % (hours, minutes, seconds))

main()

I have to give one 2 functions and one has to contain convertMillis(millis): but it says that hours is not defined why is that??

我必须给出一个 2 个函数,一个必须包含 convertMillis(millis): 但它说小时没有定义,为什么?

回答by lunaferie

If You want one single function:

如果你想要一个单一的功能:

def 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))

main()

回答by Bernardo Meurer

Try this:

尝试这个:

 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()

The problems seem to be:

问题似乎是:

  1. You lack the understanding of local and global variables. Just because a variable is in your convertMillisdoesn't mean mainwill get to read it. You have to explicitly return them.
  2. You misunderstood the syntax of print, inputand return
  1. 你缺乏对局部和全局变量的理解。仅仅因为变量在您convertMillis中并不意味着main可以读取它。您必须明确返回它们。
  2. 你误解的语法printinputreturn