问题描述
因此,我确实看到了所有关于从datetime
减去秒并通常从datetime
减去秒的主题,但是我仍然坚持并试图解决很长时间。
我写了以下代码。
lines.append(""+dataFather.decode()[:-1]+','+datetime.datetime.Now().strftime("%m/%d/%y %H:%M:%s"))
它以字符串形式发送。
然后,我将其保留在时间范围内。
infoList = line.split(",")
.....
time = infoList[3]
然后,在另一段代码中,我只想检查秒数之间的减法是大于还是小于60。
timeDif = datetime.Now()-datetime.strptime(time,"%m/%d/%y %H:%M:%s")
if 60 > timeDif.seconds():
......
但是我遇到了以下错误,甚至没有达到“ if”语句。
Traceback (most recent call last):
File "server_copy.py",line 36,in <module>
timeDif = datetime.Now()- datetime.datetime.strptime(time,"%m/%d/%y %H:%M:%s")
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
这很奇怪,因为我确实使用过:
from datetime import datetime,timedelta
这里的错误在哪里?
解决方法
不要使用timeDif.seconds()
秒不是一种方法
尝试使用timeDif.seconds
,它将正常工作!
from datetime import datetime,timedelta
from time import sleep
before = datetime.now()
sleep(5) # wait for 5 se
now = datetime.now()
timeDif = now-before
print(str(timeDif.seconds))
,
在您的示例中显示
timeDif = datetime.now()-datetime.strptime(time,"%m/%d/%y %H:%M:%S")
但是在错误中显然是
timeDif = datetime.now()- datetime.datetime.strptime(time,"%m/%d/%y %H:%M:%S")
因此您的示例和错误消息使用不同的代码。向我们显示您运行此文件的整个文件。
又为什么以前使用datetime.datetime
?
lines.append(""+dataFather.decode()[:-1]+','+datetime.datetime.now().strftime("%m/%d/%y %H:%M:%S"))
尝试保持一致,它将自行解决。