Сравните datetime.datetime с time.strptime

У меня есть следующий код:

nowtime = datetime.datetime.now()
newTime = time.strptime(myTimestring, '%Y-%m-%d %H:%M:%S')
if(newTime > nowTime): #do some stuff

Конечно, мое сравнение терпит неудачу с TypeError, "не может сравнивать datetime.datetime с кортежем". Обратите внимание, что я использую более старую версию Python, у которой нет datetime.strptime(). Как я могу заставить это сравнение работать?

1 ответ

Из документации datetime.datetime.strptime():

Это эквивалентно <code>datetime(*(time.strptime(date_string, format)[0:6]))</code>.

Для более старых версий Python (например, 2.3 или 2.4) используйте только это:

import datetime
import time
datetime.datetime(*(time.strptime(myTimestring, '%Y-%m-%d %H:%M:%S')[:6]))

Демо-версия:

>>> import datetime
>>> import time
>>> myTimestring = '2013-01-01 12:42:23'
>>> datetime.datetime(*(time.strptime(myTimestring, '%Y-%m-%d %H:%M:%S')[:6]))
datetime.datetime(2013, 1, 1, 12, 42, 23)

licensed under cc by-sa 3.0 with attribution.