Сравнивая 2 даты с питоном - PullRequest
1 голос
/ 31 декабря 2011

Мне нужно сравнить 2 даты с IF, но по какой-то странной (: P) причине я не могу этого сделать.Мой код

date1 = strftime("%Y-%m-%d")
d2 = os.path.getmtime('/tmp/file')
date2 = datetime.date.fromtimestamp(d2)
if date1 == date2 :
    print 'same date'
else:
    print 'different date'

Я не знаю, почему, показать с печатью ту же дату, но, если этот IF показывает «другую дату» Может быть, это вопрос новичка, извините!

Спасибо!

Ответы [ 2 ]

5 голосов
/ 31 декабря 2011

date1 - это строка, а date2 - это datetime.date. Возможно, вы имели в виду date1 = datetime.date.today().

2 голосов
/ 31 декабря 2011
  • time.strftime возвращает объект типа str («строка»)
  • datetime.date.fromtimestamp возвращает объект типа datetime.date

То есть date1 и date2 будут объектами разных типов. Сравнение с объектами разных типов всегда дает False (это аспект строгой типизации )

...