好的,这很好的工作,但是在12点之后,它将它转换为-1天,这是令人沮丧的,因为我不知道如何编辑它,使它不这样做。我如何解决这个问题
from datetime import datetime
with open("bot uptime.txt", "w") as f:
f.writelines(datetime.now().time().strftime('%H:%M:%S')) # on startup of bot write the time in a file
timenow = datetime.now().time().strftime('%H:%M:%S') # finds time now
file = open("bot uptime.txt")
startuptime = file.readline() # reads the startup time
print(startuptime)
s1 = startuptime
s2 = timenow
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT) # calculates the difference between the two times
print(tdelta)
我不知道为什么要将时间转换为
%H:%M:%S
,丢失诸如月份、月份和年份之类的信息。如果您从Dec 24, 23:30:00
开始,并在``Dec 25,00:30:00`检查,您正在丢弃日期信息的事实意味着计算将是:(或者其他一些负值,我还没有详细检查,但它将是一些不好的东西)
我建议只存储从纪元开始的秒数(当然是UTC,所以像
int(time.time())
这样的东西就足够了),然后使用它计算差值。这将考虑日期/时间的所有相关项目相关问题 更多 >
编程相关推荐