diff --git a/pandas/core/indexes/interval.py b/pandas/core/indexes/interval.py index 79239ec90ac80..eb4284203d865 100644 --- a/pandas/core/indexes/interval.py +++ b/pandas/core/indexes/interval.py @@ -1061,6 +1061,14 @@ def func(self, other): name=result_name) return func + @property + def is_all_dates(self): + """ + This is False even when left/right contain datetime-like objects, + as the check is done on the Interval itself + """ + return False + union = _setop('union') intersection = _setop('intersection') difference = _setop('difference') diff --git a/pandas/tests/indexes/interval/test_interval.py b/pandas/tests/indexes/interval/test_interval.py index ac0446373a6a1..258f2dc41fb79 100644 --- a/pandas/tests/indexes/interval/test_interval.py +++ b/pandas/tests/indexes/interval/test_interval.py @@ -1150,3 +1150,10 @@ def test_set_closed_errors(self, bad_closed): msg = "invalid option for 'closed': {closed}".format(closed=bad_closed) with tm.assert_raises_regex(ValueError, msg): index.set_closed(bad_closed) + + def test_is_all_dates(self): + # GH 23576 + year_2017 = pd.Interval(pd.Timestamp('2017-01-01 00:00:00'), + pd.Timestamp('2018-01-01 00:00:00')) + year_2017_index = pd.IntervalIndex([year_2017]) + assert not year_2017_index.is_all_dates