И d1
, и d2
являются переменными разных типов, поэтому сравнение не выполняется, как показано ниже
import datetime
today = datetime.date.today()
print today
print '2019-04-30'
d1 = today
d2 = '2019-04-30'
#Both types are different, as seen below
print type(d1)
#<type 'datetime.date'>
print type(d2)
#<type 'str'>
if d1 == d2:
print 'match'
else:
print 'nomatch'
Чтобы сравнить их, убедитесь, что оба имеют один и тот же тип, и затем значения будут сравниваться, например, приведенное ниже значение возвращает True, поскольку обе строки datetime оценивают один и тот же объект datetime
import datetime
d1 = datetime.datetime.strptime('2019-04-30', '%Y-%m-%d')
d2 = datetime.datetime.strptime('04-30-2019', '%m-%d-%Y')
print(d1 == d2)
#True