Различается между двумя с помощью функции if - PullRequest
0 голосов
/ 05 июля 2019

Я сравню время сервера набора данных и фактическое время.Если разница больше 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'

Код:

from datetime import datetime
import mysql.connector
import pandas as pd

#db-connection#
mydb = mysql.connector.connect(host="localhost",port="xx",user="xx",passwd="xxx",database="traiding")
mycursor = mydb.cursor()
mycursor.execute("select max(imported) from import_log")

data_sql=mycursor.fetchall()

#last import from database'
data=pd.DataFrame(data_sql, columns=['date'])


#close connection#
mycursor.close()
mydb.close()


#last import date#
lastimported=datetime.strftime(data_sql[0][0], "%Y-%m-%d %H:%M:%S")
print("last importtime:",lastimported)

#lastimport=datetime.strptime(lastimported, "%Y-%m-%d %H:%M:%S")


current_time=datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")

print ("actual time: ", current_time)


s1 = lastimported
s2 = current_time
FMT = '%Y-%m-%d %H:%M:%S'

tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
print (tdelta)

min_time=datetime.strptime('00:01:00', "%H:%M:%S")

if tdelta > min_time :
    print (">0") # Do Something
else:
    print ("else") # Waiting loop, for example 10sec

1 Ответ

1 голос
/ 05 июля 2019

Вы должны сравнить объект 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...