2011-12-31 4 views
1

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

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 показывает «другая дата» Может это новичок вопрос, извините!

Спасибо!

+0

же VARS показывает то же значение, если я печатаю DATE1 и дату 2, есть это: 2011-12-30 2011 -12-30 –

ответ

5

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

+0

Спасибо Игнасио, это работает !!! и счастливого нового года! –

2
  • time.strftime возвращает объект типа str ("строка")
  • datetime.date.fromtimestamp возвращает объект типа datetime.date

Так date1 и date2 будут объектами различных типов. По сравнению с объектами различных типов будут всегда выход False (это аспект strong typing)

+0

Как я могу сравнить эти вары? или передать значение datetime в строку? –

+0

@Cirux: вместо использования 'strftime' вы можете получить текущий день как объект' datetime.date', вызвав ['datetime.date.today'] (http://docs.python.org/library/datetime .html # datetime.date.today). –

+0

Спасибо !!! работает с использованием datetime.date !!! –

Смежные вопросы