Python打印timedelta计算输出

2024-10-02 14:27:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的python代码来计算一个星期日的天数、小时、分钟、秒和毫秒。我希望输出为:

x sols=x天x小时x分x秒x毫秒

我发现我必须使用timedelta,因为它需要毫秒。你知道吗

我已经编写了以下代码,但它没有为值提供正确的输出。当他们超过60岁时,他们需要被传下去,因为60秒等于1小时。但是值可以超过60。例如,当我输入一个值>;1,比如4,我得到aswer:4sol=4天2小时38分7220秒976毫秒。你知道吗

from datetime import datetime, timedelta
sol = timedelta(hours=24,minutes=39,seconds=35,milliseconds=244)
amount = input("Amount of sols: ")
earth=int(amount)*sol
hours = int(earth.seconds/3600)
minutes = int((earth.seconds-(hours*3600))/60)
secondes = int(earth.seconds-(minutes*60))
millisecondes = int(earth.microseconds/1000)
print (amount + " sol = " + str(earth.days) + ' days, ' + str(hours) + ' hours, ' + str(minutes) + ' minutes, ' + str(secondes) + ' secondes, ' + str(millisecondes) + ' millisecondes')

小时、分钟和毫秒是这样计算的,因为timedelta显然不能给出它们。你知道吗

earth.days
earth.seconds

存在,但是

earth.hours
earth.minutes
earth.milliseconds

不存在。我不明白,因为我可以给他们第2行的值。你知道吗

我认为我试图实现我想要的是不正确的。你知道吗


Tags: 代码daysamounttimedeltaintseconds小时earth
1条回答
网友
1楼 · 发布于 2024-10-02 14:27:19

我认为,如果使用“秒”作为浮点数,而不是使用datetime库,它会工作得更好。datetime库中有很多关于地球日期和时间的假设,这些假设在火星上是不成立的。你知道吗

相关问题 更多 >