2015-08-01 5 views
1

мне нужно, чтобы получить текущую дату без времени, а затем сравнить эту дату с другими введенного пользователемсоздать дату в питоне без времени

import datetime 
now = datetime.datetime.now() 

Пример

currentDate="01/08/2015" 
userDate="01/07/2015" 
if currentData > userDate: 
......... 
else: 
    ................... 

ответ

3

Вы можете использовать datetime.date объекты, они не имеют временной части.

Вы можете получить текущую дату, используя datetime.date.today(), пример -

now = datetime.date.today() 

Это даст вам объект типа - datetime.date. И вы можете получить date() часть объекта datetime, используя метод .date(), а затем вы можете сравнить обе даты.

Пример -

now = datetime.date.today() 
currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date() 

Тогда вы можете сравнить их.

Кроме того, чтобы преобразовать строку в дату, вы должны использовать dateimte.strptime() как я использовал выше, пример -

currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date() 

Это вызвало бы, currentDate быть datetime.date объект.


Пример/Demo -

>>> now = datetime.date.today() 
>>> currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date() 
>>> now > currentDate 
False 
>>> now < currentDate 
False 
>>> now == currentDate 
True 
+0

спасибо. Моя лучшая проблема заключается в том, как я конвертирую строку objeto «12/02/2010» на сегодняшний день –

+0

Оба ответа делают именно это ... – TigerhawkT3

+0

Используйте 'strptime', добавили tht к моему ответу. –

0

Если вы хотите сравнить даты, а затем сравнить даты, а не строк. Используйте команду datetime.datetime.strptime() для анализа введенной пользователем даты.

import datetime 
now = datetime.datetime.now() 
userDate = "01/07/2015" 
if datetime.datetime.strptime(userDate, '%m/%d/%Y') < now: 
    ... 
Смежные вопросы