Author iaslan
Recipients iaslan
Date 2016-02-03.16:02:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1454515371.52.0.00863631935711.issue26279@psf.upfronthosting.co.za>
In-reply-to
Content
There seems to be a bug in the time library when performing the following conversion:

"""
In [8]: mytime=time.strptime(str([2015, 53, 0]), '[%Y, %U, %w]')

In [9]: mytime
Out[9]: time.struct_time(tm_year=2016, tm_mon=1, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=368, tm_isdst=-1)

In [10]: time.strftime('%Y %U', mytime)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-10-c13538c08ea5> in <module>()
----> 1 time.strftime('%Y %U', mytime)

ValueError: day of year out of range 
"""

As you can observe, tm_yday got a value of 368 instead of 3. It seems that the C function is not properly subtracting 365 or 366 days when converting from week 53 of a particular year which, according to ISO 8601 [1] and per python documentation [2]. Documentation explicitly says that: "The first week of the year is the week with the year's first Thursday in it".

[1] https://en.wikipedia.org/wiki/ISO_8601#Week_dates
[2] https://docs.python.org/2/library/time.html
History
Date User Action Args
2016-02-03 16:02:51iaslansetrecipients: + iaslan
2016-02-03 16:02:51iaslansetmessageid: <1454515371.52.0.00863631935711.issue26279@psf.upfronthosting.co.za>
2016-02-03 16:02:51iaslanlinkissue26279 messages
2016-02-03 16:02:51iaslancreate