Hi list, I've just stumbled upon a strange phaenomenon and I'm wondering if it's a bug. Short and sweet:
Python 3.7.3 (default, Oct 7 2019, 12:56:13) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from datetime import datetime as d >>> x = d(1, 1, 1) >>> x.strftime("%Y-%m-%d") '1-01-01' >>> d.strptime(x.strftime("%Y-%m-%d"), "%Y-%m-%d") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.7/_strptime.py", line 577, in _strptime_datetime tt, fraction, gmtoff_fraction = _strptime(data_string, format) File "/usr/lib/python3.7/_strptime.py", line 359, in _strptime (data_string, format)) ValueError: time data '1-01-01' does not match format '%Y-%m-%d' >>> d.strptime("0001-01-01", "%Y-%m-%d") datetime.datetime(1, 1, 1, 0, 0) I.e. for years that are not 4 digits longs, strftime() produces no leading zeros for the '%Y' replacement, but strptime() requires leading zeros. Is this expected behavior? Shouldn't %Y be consistent across both? All the best, Johannes -- https://mail.python.org/mailman/listinfo/python-list