diff --git a/doc/source/whatsnew/v2.0.0.rst b/doc/source/whatsnew/v2.0.0.rst index 4d3b2548f5fc5..caff9d7f5cb1a 100644 --- a/doc/source/whatsnew/v2.0.0.rst +++ b/doc/source/whatsnew/v2.0.0.rst @@ -775,6 +775,7 @@ Datetimelike - Bug in ``pandas.tseries.holiday.Holiday`` where a half-open date interval causes inconsistent return types from :meth:`USFederalHolidayCalendar.holidays` (:issue:`49075`) - Bug in rendering :class:`DatetimeIndex` and :class:`Series` and :class:`DataFrame` with timezone-aware dtypes with ``dateutil`` or ``zoneinfo`` timezones near daylight-savings transitions (:issue:`49684`) - Bug in :func:`to_datetime` was raising ``ValueError`` when parsing :class:`Timestamp`, ``datetime.datetime``, ``datetime.date``, or ``np.datetime64`` objects when non-ISO8601 ``format`` was passed (:issue:`49298`, :issue:`50036`) +- Bug in :class:`Timestamp` was showing ``UserWarning`` which was not actionable by users (:issue:`50232`) - Timedelta diff --git a/pandas/_libs/tslibs/parsing.pyx b/pandas/_libs/tslibs/parsing.pyx index 83f03f94d2fad..614db69425f4c 100644 --- a/pandas/_libs/tslibs/parsing.pyx +++ b/pandas/_libs/tslibs/parsing.pyx @@ -85,12 +85,6 @@ class DateParseError(ValueError): _DEFAULT_DATETIME = datetime(1, 1, 1).replace(hour=0, minute=0, second=0, microsecond=0) -PARSING_WARNING_MSG = ( - "Parsing dates in {format} format when dayfirst={dayfirst} was specified. " - "This may lead to inconsistently parsed dates! Specify a format " - "to ensure consistent parsing." -) - cdef: set _not_datelike_strings = {"a", "A", "m", "M", "p", "P", "t", "T"} @@ -203,28 +197,10 @@ cdef object _parse_delimited_date(str date_string, bint dayfirst): # date_string can't be converted to date, above format return None, None - swapped_day_and_month = False if 1 <= month <= MAX_DAYS_IN_MONTH and 1 <= day <= MAX_DAYS_IN_MONTH \ and (month <= MAX_MONTH or day <= MAX_MONTH): if (month > MAX_MONTH or (day <= MAX_MONTH and dayfirst)) and can_swap: day, month = month, day - swapped_day_and_month = True - if dayfirst and not swapped_day_and_month: - warnings.warn( - PARSING_WARNING_MSG.format( - format="MM/DD/YYYY", - dayfirst="True", - ), - stacklevel=find_stack_level(), - ) - elif not dayfirst and swapped_day_and_month: - warnings.warn( - PARSING_WARNING_MSG.format( - format="DD/MM/YYYY", - dayfirst="False (the default)", - ), - stacklevel=find_stack_level(), - ) # In Python <= 3.6.0 there is no range checking for invalid dates # in C api, thus we call faster C version for 3.6.1 or newer return datetime_new(year, month, day, 0, 0, 0, 0, None), reso diff --git a/pandas/tests/scalar/timestamp/test_timestamp.py b/pandas/tests/scalar/timestamp/test_timestamp.py index 0384417771056..5446e16c189b0 100644 --- a/pandas/tests/scalar/timestamp/test_timestamp.py +++ b/pandas/tests/scalar/timestamp/test_timestamp.py @@ -1082,3 +1082,11 @@ def test_as_unit_non_nano(self): == res.nanosecond == 0 ) + + +def test_delimited_date(): + # https://github.com/pandas-dev/pandas/issues/50231 + with tm.assert_produces_warning(None): + result = Timestamp("13-01-2000") + expected = Timestamp(2000, 1, 13) + assert result == expected