如何使用python获取时间的秒数

zjm*_*126 8 python time

这是我的代码:

last_time = get_last_time()
now = time.time() - last_time
minute = 
seconds = 
print 'Next time you add blood is '+minute+':'+seconds
Run Code Online (Sandbox Code Playgroud)

因为每5分钟恢复血液所以只需要分秒

谢谢

小智 8

这是基本时间算术...如果你知道一分钟有60秒,那么你可以找到你自己:

minute = int(now / 60)
seconds = int(now % 60)
Run Code Online (Sandbox Code Playgroud)

(这个被接受的答案自2011年5月19日以来是错误的,因为标志被切换,直到17年1月10日固定)

  • 这个答案也是错误的,因为一分钟不必有60秒 (3认同)

Zec*_*ecc 6

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

minutes = total_secs % 60
seconds = total_secs - (minutes * 60)
Run Code Online (Sandbox Code Playgroud)

当您不知道如何处理 Python 中的值时,您可以随时在交互式 Python 会话中尝试。使用dir(obj)看到所有的任何对象的属性和方法,help(obj)看它的文档。

更新:我刚刚检查并time.time()没有返回一个time对象,而是一个代表自 Epoch 以来秒数的浮点数。我所说的仍然适用,但您total_secs以不同的方式获得价值:

total_secs = round(time.time() - last_time)
Run Code Online (Sandbox Code Playgroud)

简而言之:

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
Run Code Online (Sandbox Code Playgroud)