1. Используя стандартный модуль datetime с указанием формата даты (коды для записи формата можно посмотреть здесь: http://strftime.org/ ):
from datetime import datetime
datetime.strptime("2008-09-03T20:56:35.450686Z", "%Y-%m-%dT%H:%M:%S.%fZ")
datetime.strptime("Jun 1 2005 1:33PM", "%b %d %Y %I:%M%p")
2. Используя модуль dateutil, который автоматически попытается определить формат даты и распарсить её правильно (но могут случаться конфузы):
Установка:
pip install python-dateutil
Использование:
>>> import dateutil.parser
>>>
>>> dateutil.parser.parse('2008-09-03T20:56:35.450686Z') # RFC 3339 format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686, tzinfo=tzutc())
>>>
>>> dateutil.parser.parse('2008-09-03T20:56:35.450686') # ISO 8601 extended format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>>
>>> dateutil.parser.parse('20080903T205635.450686') # ISO 8601 basic format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>>
>>> dateutil.parser.parse('20080903') # ISO 8601 basic format, date only
datetime.datetime(2008, 9, 3, 0, 0)