Pendulum 3 is unable to parse string '031' with 'DDDD' format:
>>> import pendulum
>>> pendulum.__version__
'3.0.0'
>>> p = pendulum.from_format(f"2023-031", 'YYYY-DDDD')
Traceback (most recent call last):
File "[..]/python3.9/site-packages/pendulum/__init__.py", line 284, in from_format
def duration(
File "[..]/python3.9/site-packages/pendulum/formatting/formatter.py", line 416, in parse
File "[..]/python3.9/site-packages/pendulum/formatting/formatter.py", line 482, in _check_parsed
"{}-{:>03d}".format(validated["year"], parsed["day_of_year"])
File "[..]/python3.9/site-packages/pendulum/parser.py", line 30, in parse
File "[..]/python3.9/site-packages/pendulum/parser.py", line 43, in _parse
return pendulum.now()
File "[..]/python3.9/site-packages/pendulum/parsing/__init__.py", line 78, in parse
"""
File "[..]/python3.9/site-packages/pendulum/parsing/__init__.py", line 125, in _parse
# so we fallback on the dateutil parser
pendulum.parsing.exceptions.ParserError: Unable to parse string [2023-031]
but it works for other values:
>>> p = pendulum.from_format(f"2023-030", 'YYYY-DDDD')
>>> p
DateTime(2023, 1, 30, 0, 0, 0, tzinfo=Timezone('UTC'))
>>> p = pendulum.from_format(f"2023-032", 'YYYY-DDDD')
>>> p
DateTime(2023, 2, 1, 0, 0, 0, tzinfo=Timezone('UTC'))
The bug does not seem to be present in the previous version of Pendulum :
>>> import pendulum
>>> pendulum.__version__
'2.1.2'
>>> p = pendulum.from_format(f"2023-031", 'YYYY-DDDD')
>>> p
DateTime(2023, 1, 31, 0, 0, 0, tzinfo=Timezone('UTC'))
Context
Issue
Pendulum 3 is unable to parse string '031' with 'DDDD' format:
but it works for other values:
The bug does not seem to be present in the previous version of Pendulum :