Как сделать strtotime в python?

Я соскабливаю страницу, которая включает, среди прочего, информацию о дате. Поэтому у меня есть переменная с именем warrant_issued которая содержит u'11/5/2003' – я хочу сохранить это как машиночитаемую дату. PHP имеет strtotime функцию strtotime которая работает сказочно. Я надеялся, что strptime datetime поможет мне, но, похоже, это не доступно в моей версии datetime Здесь все в моей вкладке завершено в datetime.

 In [231]: datetime. datetime.MAXYEAR datetime.__hash__ datetime.__sizeof__ datetime.MINYEAR datetime.__init__ datetime.__str__ datetime.__class__ datetime.__name__ datetime.__subclasshook__ datetime.__delattr__ datetime.__new__ datetime.date datetime.__dict__ datetime.__package__ datetime.datetime datetime.__doc__ datetime.__reduce__ datetime.datetime_CAPI datetime.__file__ datetime.__reduce_ex__ datetime.time datetime.__format__ datetime.__repr__ datetime.timedelta datetime.__getattribute__ datetime.__setattr__ datetime.tzinfo 

Я использую iPython 2.7.2+

Я лаяю здесь неправильное дерево? Каков наилучший способ превратить u'11/5/2003' в дату?

strptime() , безусловно, правильный подход, это всего лишь метод класса для класса datetime (путаная часть модуля datetime ).

То есть, datetime.datetime.strptime() – это то, что вы ищете (а не datetime.strptime() .

Попробуй это:

Для использования с datetime module , здесь

 >>>import datetime >>>a = u'11/5/2003' >>>time1 = datetime.datetime.strptime(a, "%m/%d/%Y") >>>print time1 datetime.datetime(2003, 11, 5, 0, 0) 

В ipython :

 In [1]: import datetime In [2]: a = u'11/5/2003' In [3]: time1 = datetime.datetime.strptime(a, "%m/%d/%Y") In [4]: print time1 2003-11-05 00:00:00 

Использование с time module , документация здесь

 >>>import time >>>a = u'11/5/2003' >>>time1 = time.strptime(a, "%m/%d/%Y") >>>print time1 time.struct_time(tm_year=2003, tm_mon=11, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=309, tm_isdst=-1) 

Благодаря ответу на комментарий от @David Cain:

Библиотека dateutil может анализировать строки даты и времени (вывод их формата). Однако обратите внимание, что «11/5/2003» не является однозначным форматом (MM / DD или DD / MM отличается по языку), поэтому dateutil следует использовать с осторожностью в этом случае. – Дэвид Каин

Поэтому альтернативной хорошей практикой является использование библиотеки dateutil:

 >>> from dateutil.parser import parse >>> dt = parse('2016/12/05 05:18 pm') >>> dt datetime.datetime(2016, 12, 5, 17, 18) >>> dt.timestamp() 1480929480.0 >>> parse('16/11/12') >>> datetime.datetime(2012, 11, 16, 0, 0)