如何使用python获得秒数

如何使用python获得秒数,python,time,Python,Time,这是我的代码: last_time = get_last_time() now = time.time() - last_time minute = seconds = print 'Next time you add blood is '+minute+':'+seconds 因为每5分钟恢复一次血液,所以只需要几分钟和几秒钟 谢谢这是基本的时间算术……如果你知道一分钟有60秒,那么你可以 你发现自己: minute = int(now / 60) seconds = int(now %

这是我的代码:

last_time = get_last_time()
now = time.time() - last_time
minute = 
seconds = 
print 'Next time you add blood is '+minute+':'+seconds
因为每5分钟恢复一次血液,所以只需要几分钟和几秒钟


谢谢

这是基本的时间算术……如果你知道一分钟有60秒,那么你可以 你发现自己:

minute = int(now / 60)
seconds = int(now % 60)
minutes = total_secs % 60
seconds = total_secs - (minutes * 60)

我相信两个时间对象之间的差异返回一个对象。此对象有一个
.total_seconds()
方法。您需要自己将这些因素分解为分钟+秒:

minute = int(now / 60)
seconds = int(now % 60)
minutes = total_secs % 60
seconds = total_secs - (minutes * 60)
当您不知道如何处理Python中的值时,可以在交互式Python会话中尝试。使用
dir(obj)
查看任何对象的所有属性和方法,使用
help(obj)
查看其文档

Update:我刚刚检查了一下,并且
time.time()
不返回
time
对象,而是一个表示自历元起秒数的浮点。我所说的仍然适用,但您以不同的方式获得
total_secs
的值:

total_secs = round(time.time() - last_time)
简言之:

last_time = get_last_time()
time_diff = round(time.time() - last_time)
minute = time_diff / 60
seconds = time_diff % 60  # Same as time_diff - (minutes * 60)
print 'Next time you add blood is '+minute+':'+seconds
在Python 3中

>>import time
>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=7, tm_mday=16, tm_hour=1, tm_min=51, tm_sec=39, tm_wday=0, tm_yday=197, tm_isdst=0)
你可以这样消磨时间

>>time.localtime().tm_min
51
>>time.localtime().tm_sec
39

我认为,这可以解决您的问题。

这是正确的,但“now”是一个相当不直观的名称。把它改成“剩下的几秒钟”之类的。我们没有其他问题吗?告诉OP抱歉,我本想在OP.上发表演讲的:)但我明白你为什么会感到生气。这个答案也是错误的,因为一分钟不一定要有60分钟seconds@PaulSmith说得好。我再次编辑它以转换为int。如果输入为,则模数也可以是十进制值(在本例中就是这样),因此现在我也将其转换为int。无意义-time.time()只返回一个浮点值。>>>time.time()1305803305.7057121>>键入(time.time())@Sentinel是的,我刚刚检查并更新了我的答案。我还对你的答案投了赞成票,因为它是正确的。我很想删除我的答案,但我会留下它,以防zjm1126想从中复制代码。timedelta.total_seconds()是Python 2.7及更高版本。