[New-bugs-announce] [issue21267] mktime_tz may return wrong result for past dates before Python 2.7.4

akira report at bugs.python.org
Wed Apr 16 22:00:03 CEST 2014


New submission from akira:

>>> from email.utils import mktime_tz, parsedate_tz
>>> mktime_tz(parsedate_tz('Thu, 1 Jan 1970 00:00:00 GMT'))
3600.0

It must returns `0` instead of `3600.0` assuming POSIX timestamp.

UTC offsets in 1970 and today are different from each other by one hour in my local timezone (`time.mktime(1970, ..)` uses one UTC offset and `time.timezone` another). There are around a hundred such timezones.

Note: `time.timezone == time.altzone` in my local timezone i.e., it can't be the documented DST issue.

The bug is present in Python 2.6.9 (the last 2.6 release). 
The bug is present in Python 2.7.3 (Ubuntu 12.04 LTS supported until 2017)

It is fixed in Python 2.7.4+ while replacing `time.mktime` with `calendar.timegm` in issue 14653.

----------
components: email
messages: 216572
nosy: akira, barry, r.david.murray
priority: normal
severity: normal
status: open
title: mktime_tz may return wrong result for past dates before Python 2.7.4
type: behavior
versions: Python 2.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21267>
_______________________________________


More information about the New-bugs-announce mailing list