What Possible Values Does Datetime.strptime() Accept For %z?
Python's datetime.strptime() is documented as supporting a timezone in the %Z field. So, for example: In [1]: datetime.strptime('2009-08-19 14:20:36 UTC', '%Y-%m-%d %H:%M:%S %Z') O
Solution 1:
I gather they are GMT, UTC, and whatever is listed in time.tzname.
>>> for t in time.tzname:
... print t
...
Eastern Standard Time
Eastern Daylight Time
>>> datetime.strptime('2009-08-19 14:20:36 Eastern Standard Time', "%Y-%m-%d %H:%M:%S %Z")
datetime.datetime(2009, 8, 19, 14, 20, 36)
>>> datetime.strptime('2009-08-19 14:20:36 UTC', "%Y-%m-%d %H:%M:%S %Z")
datetime.datetime(2009, 8, 19, 14, 20, 36)
>>> datetime.strptime('2009-08-19 14:20:36 GMT', "%Y-%m-%d %H:%M:%S %Z")
datetime.datetime(2009, 8, 19, 14, 20, 36)
These settings are machine-specific, of course, and yours will be different in all likelihood.
Solution 2:
This is from the time
module, but I'm almost certain it applies to datetime
:
Support for the %Z directive is based on the values contained in tzname and whether daylight is true. Because of this, it is platform-specific except for recognizing UTC and GMT which are always known (and are considered to be non-daylight savings timezones).
https://docs.python.org/library/time.html
On my system:
>>> import time
>>> time.tzname
('PST', 'PDT')
Using anything but these in datetime.strptime results in an exception. So, look to see what you have available on your machine.
Post a Comment for "What Possible Values Does Datetime.strptime() Accept For %z?"