Если вы можете использовать dateutil с GAE, тогда
In [70]: import dateutil.parser as parser
In [71]: parser.parse('Sunday 31st of July 2005 ( 02:05:50 PM )',fuzzy=True)
Out[71]: datetime.datetime(2005, 7, 31, 14, 5, 50)
В противном случае вам придется полагаться на re
, чтобы манипулировать строкой даты в формате, который может анализировать strptime
.
In [89]: datetime.datetime.strptime(re.sub(r'\w+ (\d+)\w+ of(.+)\s+\( (.+) \)',r'\1 \2 \3','Sunday 31st of July 2005 ( 02:05:50 PM )'),'%d %B %Y %I:%M:%S %p')
Out[89]: datetime.datetime(2005, 7, 31, 14, 5, 50)