to_datetime, inconsistent behavior with invalid dates. · Issue #10154 · pandas-dev/pandas (original) (raw)
Consider Feb 29 1991 (2291991) and March 32 1991 (3321991), Both are invalid dates.
pd.to_datetime(2291991, format="%m%d%Y", coerce=True, exact=True)
Returns a TypeError: ValueError: day is out of range for month
While
pd.to_datetime(3321991, format="%m%d%Y", coerce=True, exact=True)
Returns NaT. Which is what I would expect.
In any case they should return the same error or value
Joris Van den Bossche pointed out on the mailing list:
"It has something to do with the number of the day, only values above 31 convert to NaT, 31 or lower raises the error (eg also 31 April raise error instead of giving NaT)"