Python 两次使用if函数时不同
我将比较数据集服务器时间和实际时间。如果差异大于1分钟,脚本将继续。否则将出现等待循环,例如10秒。就要开始了 但是我不能执行if函数。谢谢你的帮助 这就是输出:Python 两次使用if函数时不同,python,mysql,datetime,Python,Mysql,Datetime,我将比较数据集服务器时间和实际时间。如果差异大于1分钟,脚本将继续。否则将出现等待循环,例如10秒。就要开始了 但是我不能执行if函数。谢谢你的帮助 这就是输出: last importtime: 2019-07-05 14:16:07 actual time: 2019-07-05 18:30:21 1 day, 4:14:14 错误: TypeError: '>' not supported between instances of 'datetime.timedelta' and
last importtime: 2019-07-05 14:16:07
actual time: 2019-07-05 18:30:21
1 day, 4:14:14
错误:
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'datetime.datetime'
代码:
您必须将timedelta对象与另一个timedelta对象进行比较
import datetime as dt
#... Your code
if tdelta > dt.timedelta(minutes=1):
print (">0") # Do Something
else:
print ("else") # Waiting loop, for example 10sec
'datetime.timedelta'和'datetime.datetime'
错误告诉您,您并不是在尝试获取两个时间之间的差异,而是在尝试将时间差异与实际日期时间进行比较。为什么要将日期时间对象转换为字符串,然后再转换回日期时间对象current_time=datetime.utcnow().strftime(“%Y-%m-%d%H:%m:%S”)
,然后执行datetime.strptime(s2,FMT)
其中s2
是current_time
,如果您在任何情况下都没有在末尾调用strftime
,它已经是datetime对象,我想唯一让我感到困惑的是s1
的硬编码值。如果你能澄清为什么要使用它,那么我有点明白你想做什么,并将尝试回答可能重复的@Akaisteph7。你回答并在不到1分钟内标记为重复?这是一个更大脚本的一部分。此部件将控制导入部件从api获取数据。就像一个带有可调参数集的cronjob。我将查看上次导入时间戳(s1),并将其与实际时间(s2)进行比较。如果差异大于1分钟,则脚本将启动。你明白吗?@roganjosh这个代码有什么问题?我不确定我是否理解这并不能完全解决你的要求
import datetime as dt
#... Your code
if tdelta > dt.timedelta(minutes=1):
print (">0") # Do Something
else:
print ("else") # Waiting loop, for example 10sec