基于 DateTime 的 Python 计时器



我正在尝试为一个简单的游戏编程。我希望倒计时打印为 10、9、8、...用于查看还剩多少时间来收集物品。当计时器用完时,我希望程序关闭。 这是错误:

int() argument must be a string, a bytes-like object or a number, not 'datetime.timedelta'

Sombody可以纠正它或更好地向我发送工作计时器概念吗? 谢谢

import time
import datetime
now = datetime.datetime.now()
later = datetime.datetime.now()
diff = int(later - now)
#countdown in sec
tcount = 10 
countd = tcount - diff
countd = str(countd)
while diff < tcount:
print("countdown:" + countd)

正如错误消息所说,later - now是一个datetime.timedelta。 如果将其分配给一个变量,例如diff_delta,那么diff_delta.total_seconds()会以秒为单位为您提供其值。

获取已过去时间的一个好方法是使用 time.time()

import time
now = time.time()
# do some stuff
elapsed time = int(time.time() - now)

在测量一秒方面,也许使用 time.time() 让它池化时间时间,然后有一个循环来检查当前时间减去池化时间何时大于 1。那将是一秒钟。根据需要重复几秒钟。

编辑: 或者duh,只需使用time.sleep()就像评论建议的那样。time.sleep(1) 将休眠 1 秒。

最新更新