基于日期时间的python计时器

时间:2018-04-12 20:03:44

标签: python python-3.x datetime

我正在尝试为简单的游戏编程。我希望倒计时打印成10,9,8等......以便了解收集物品需要多少时间。当计时器用完时我希望程序关闭。 这是错误:

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

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

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)

2 个答案:

答案 0 :(得分:1)

获得时间的好方法是使用time.time()

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

在测量秒数时,可能使用time.time()来计算池时间,然后有一个循环来检查当前时间减去合并时间是否大于1.这将是一秒钟。根据需要重复几秒钟。

编辑: 或者,就像建议的评论一样使用time.sleep()。 time.sleep(1)将睡眠1秒钟。

答案 1 :(得分:1)

正如错误消息所示,later - nowdatetime.timedelta。如果将其分配给变量,例如diff_delta,则diff_delta.total_seconds()会在几秒钟内为您提供值。