New submission from Heiðar Rafn Harðarson <[email protected]>:
When using datetime.strptime or time.strptime to parse string representing
timestamp with the format string '%Y%m%dT%H%M%S' then a strange behavior
happens when the input string does not contain the seconds: the minute part is
split and first digit used as minutes and second digit as seconds !
According to documentation %M shall contain Minute as a decimal number [00,59]
and %S shall contain Second as a decimal number [00,61]
Here are few examples to show this:
------------------
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.datetime.strptime('20110817T1234','%Y%m%dT%H%M%S')
datetime.datetime(2011, 8, 17, 12, 3, 4)
=>ERROR no seconds in input string: minute=3, second=4
=>I would expect exception ValueError or datetime.datetime(2011, 8, 17, 12, 34,
00)
>>> datetime.datetime.strptime('20110817T123456','%Y%m%dT%H%M%S')
datetime.datetime(2011, 8, 17, 12, 34, 56)
=>CORRECT
>>> datetime.datetime.strptime('20110817T123456','%Y%m%dT%H%M')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 56
=>CORRECT
>>> datetime.datetime.strptime('20110817T1234','%Y%m%dT%H%M')
datetime.datetime(2011, 8, 17, 12, 34)
=> CORRECT
------------------
I have tested this with python 2.6 and 2.7
This also happens on when playing with %H%M format string and omit minutes from
the input.
----------
components: Library (Lib)
messages: 143400
nosy: heidar.rafn
priority: normal
severity: normal
status: open
title: datetime.strptime parses input wrong
type: behavior
versions: Python 2.6, Python 2.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue12886>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com