Dateutil Parser return datetime object when it should have returned None

203 Views Asked by At

While trying to parse a date from a string, dateutil parser returns current date when it should have returned ParserError. This is when fuzzy parameter is set to True.

For example:

>>> from dateutil.parser import parse
>>> parse("March, 2022", fuzzy = True)
datetime.datetime(2022, 3, 27, 0, 0)

Here I want it to return ParserError since the day part is not present.

1

There are 1 best solutions below

1
Hassan Oyeboade On

The reason why it returns a value is because the parser assumes a default day of the current day when the day part is not specified.

Also if the date is invalid, the parse raises a ParserError and does not return None