diff --git a/pandas/core/indexes/datetimes.py b/pandas/core/indexes/datetimes.py index fa4463295e3357..fc887fce47815d 100644 --- a/pandas/core/indexes/datetimes.py +++ b/pandas/core/indexes/datetimes.py @@ -2026,6 +2026,11 @@ def month_name(self, time_locale=None): month_names : Index Index of month names """ + values = self.asi8 + if self.tz is not None: + if self.tz is not utc: + values = self._local_timestamps() + result = fields.get_date_name_field(values, 'month_name', time_locale=time_locale) result = self._maybe_mask_results(result) @@ -2045,6 +2050,11 @@ def day_name(self, time_locale=None): month_names : Index Index of day names """ + values = self.asi8 + if self.tz is not None: + if self.tz is not utc: + values = self._local_timestamps() + result = fields.get_date_name_field(values, 'day_name', time_locale=time_locale) result = self._maybe_mask_results(result) diff --git a/pandas/tests/indexes/datetimes/test_misc.py b/pandas/tests/indexes/datetimes/test_misc.py index 15b2b6ddd80f58..9fd028af5ba39b 100644 --- a/pandas/tests/indexes/datetimes/test_misc.py +++ b/pandas/tests/indexes/datetimes/test_misc.py @@ -356,7 +356,7 @@ def test_datetime_name_accessors(self, time_locale): tm.assert_index_equal(result, expected) for date, expected in zip(dti, calendar.month_name[1:]): result = date.month_name(time_locale=time_locale) - assert result == expected.capitalize() + assert result == expected.capitalize() def test_nanosecond_field(self): dti = DatetimeIndex(np.arange(10)) diff --git a/pandas/tests/scalar/test_timestamp.py b/pandas/tests/scalar/test_timestamp.py index 9722dcbf4c036d..cffcd51fee98cc 100644 --- a/pandas/tests/scalar/test_timestamp.py +++ b/pandas/tests/scalar/test_timestamp.py @@ -612,7 +612,7 @@ def test_day_name(self, data, time_locale): with tm.set_locale(time_locale, locale.LC_TIME): expected = calendar.day_name[0].capitalize() result = data.day_name(time_locale) - assert result == expected + assert result == expected def test_pprint(self): # GH12622