Вам нужно сравнить только время из new_date, с 12 преобразованным в объект datetime. Из-за того, как вы выполняли импорт, когда вы используете datetime.time (), это означает, что вы вызываете datetime.datetime.time (), а не datetime.time (), поэтому преобразование не выполняется. Вы можете решить эту проблему, набрав
from datetime import datetime, timedelta, time
, а затем используйте
time()
или
import datetime as dt
, затем используя в соответствующих местах
dt.datetime(), dt.timedelta(), dt.time()
Полный код:
import random
from datetime import datetime, timedelta, time
from pytz import timezone
current_date = datetime.now(timezone('America/Sao_Paulo'))
new_date = current_date - timedelta(days=2)
print (new_date.strftime("%Y-%m-%d %H:%M:%S"))
while new_date <= current_date:
new_date = new_date + timedelta(minutes=10)
print (new_date.strftime("%Y-%m-%d %H:%M:%S"))
if new_date.time() < time(12):
print("test")