-
-
Notifications
You must be signed in to change notification settings - Fork 415
Open
Description
Context
- OS version and name: Debian GNU/Linux 11.8 64bits
- Python version: 3.9.2
- Pendulum version: 3.0.0
Issue
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'))
thomasjbradley, psarka, dav1dn and wangonya
Metadata
Metadata
Assignees
Labels
No labels