I\'m using the Paypal API and I get back a timestamp in the following format. It try to parse this to a datetime object using strptime, but I get the following error:
<The problem is that you use %M
twice. Use %m
for the months:
>>> datetime.strptime('2012-03-01T10:00:00Z','%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2012, 3, 1, 10, 0)
Looks like you're mixing %M
(minute) and %m
(month).
You have a typo. %M
is used twice. You meant to use %m
for the month. From the docs:
%m Month as a decimal number [01,12].
%M Minute as a decimal number [00,59].
The parser from dateutil is your friend.
You'll have to pip install dateutil but you've save bags and bags of date conversion code:
pip install python-dateutil
You can use it like this.
from dateutil import parser
ds = '2012-03-01T10:00:00Z' # or any date sting of differing formats.
date = parser.parse(ds)
You'll find you can deal with almost any date string formats with this parser and you'll get a nice standard python date back