Сравните строку даты и времени с экземпляром даты и времени Python

#python #datetime

Вопрос:

Я пытаюсь сравнить строку с датой-временем в ней и экземпляром datatime

 if datetime.fromisoformat(item[1]) < datetime.datetime.utcnow():
 

с « item[1] » бытием str("2021-07-02 23:09:09.936720") , но это всегда приводит к ошибке:

 AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
 

Я не могу найти способ исправить эту ошибку, так как я не вижу точной проблемы, большое спасибо, если вы могли бы помочь 🙂

Комментарии:

1. используйте datetime.utcnow() вместо datetime.datetime.utcnow()

Ответ №1:

Очевидная проблема заключается во второй части утверждения if.

дата-время.дата-время.utcnow()

Вызов метода utcnow() должен быть записан как datetime.utcnow()

Я попробовал это на своем локальном компьютере, и это код, который сработал для меня:

 from datetime import *
var = "2021-07-05 23:09:09.936720"

if datetime.fromisoformat(var) < datetime.utcnow():
    print("Less!")
else:
    print("Not less!")
 

ПРИМЕЧАНИЕ: Важной частью является импорт модуля с помощью «из импорта даты и времени *», иначе метод fromisoformat() не будет импортирован.