这是我的代码:
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)
我相信两个时间对象之间的差异会返回一个 timedelta 对象。该对象有一个
.total_seconds()
方法。您需要自己将这些分解为分钟+秒:
minutes = total_secs % 60
seconds = total_secs - (minutes * 60)
当您不知道如何处理 Python 中的值时,您可以随时在交互式 Python 会话中尝试。使用
dir(obj)
查看任何对象的所有属性和方法,使用 help(obj)
查看其文档。
更新:我刚刚检查过,
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
我想,这可以解决你的问题。