2024-06-07 16:29:34 发布
网友
这是我的代码:
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)
在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
我想,这能解决你的问题。
我相信两个时间对象返回timedelta对象的区别。此对象有一个.total_seconds()方法。你需要将这些因素考虑到几分钟+几秒钟内:
.total_seconds()
minutes = total_secs % 60 seconds = total_secs - (minutes * 60)
当您不知道如何处理Python中的值时,可以在交互式Python会话中尝试它。使用dir(obj)查看任何对象的所有属性和方法,help(obj)查看其文档。
dir(obj)
help(obj)
Update:我刚刚检查了一下,并且time.time()不返回time对象,而是返回一个表示自纪元以来秒数的浮点。我所说的仍然适用,但是您以不同的方式获得total_secs的值:
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
这是基本的时间算法…如果你知道一分钟有60秒,那么你可以 发现你自己:
在Python 3中
你可以像那样擦掉分秒
我想,这能解决你的问题。
我相信两个时间对象返回timedelta对象的区别。此对象有一个
.total_seconds()
方法。你需要将这些因素考虑到几分钟+几秒钟内:当您不知道如何处理Python中的值时,可以在交互式Python会话中尝试它。使用
dir(obj)
查看任何对象的所有属性和方法,help(obj)
查看其文档。Update:我刚刚检查了一下,并且
time.time()
不返回time
对象,而是返回一个表示自纪元以来秒数的浮点。我所说的仍然适用,但是您以不同的方式获得total_secs
的值:简而言之:
相关问题 更多 >
编程相关推荐