diff options
author | Marko Kreen | 2014-10-27 13:50:26 +0000 |
---|---|---|
committer | Marko Kreen | 2014-10-27 13:50:26 +0000 |
commit | 70c4b1170b1c7e21d7bbaf6a2034cc62fc7a4c5d (patch) | |
tree | 75bdfd9d13f724efe82824768cd74b080942706e | |
parent | d66cbbb668665fee17b937c47e6b58ce9ef82706 (diff) |
parse_iso_timestamp: handle Z properly
-rw-r--r-- | python/skytools/timeutil.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/python/skytools/timeutil.py b/python/skytools/timeutil.py index c04756b8..ba4c2933 100644 --- a/python/skytools/timeutil.py +++ b/python/skytools/timeutil.py @@ -73,7 +73,8 @@ _iso_regex = r""" (?P<year> \d\d\d\d) [-] (?P<month> \d\d) [-] (?P<day> \d\d) [ T] (?P<hour> \d\d) [:] (?P<min> \d\d) (?: [:] (?P<sec> \d\d ) (?: [.,] (?P<ss> \d+))? )? - (?: \s* (?P<tzsign> [-+]) (?P<tzhr> \d\d) (?: [:]? (?P<tzmin> \d\d))? )? + (?: \s* (?P<tzsign> [-+]) (?P<tzhr> \d\d) (?: [:]? (?P<tzmin> \d\d))? + | (?P<tzname> Z ) )? \s* $ """ _iso_rc = None @@ -104,6 +105,8 @@ def parse_iso_timestamp(s, default_tz = None): '2005-06-01 15:00:59.330000+02:00' >>> parse_iso_timestamp('2005-06-01 15:00-0530').strftime('%Y-%m-%d %H:%M %z %Z') '2005-06-01 15:00 -0530 -05:30' + >>> parse_iso_timestamp('2014-10-27T11:59:13Z').strftime('%Y-%m-%d %H:%M:%S %z %Z') + '2014-10-27 11:59:13 +0000 +00' """ global _iso_rc @@ -122,6 +125,8 @@ def parse_iso_timestamp(s, default_tz = None): if m.group('tzsign') == '-': tzofs = -tzofs tz = FixedOffsetTimezone(tzofs) + elif m.group('tzname'): + tz = UTC return datetime(int(m.group('year')), int(m.group('month')), |