Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 两次使用if函数时不同_Python_Mysql_Datetime - Fatal编程技术网

Python 两次使用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

我将比较数据集服务器时间和实际时间。如果差异大于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 '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