From: Debian Science Team Date: Sun, 2 Feb 2025 11:17:13 +0000 (+0000) Subject: datetime does not work with non-constant pytz.timezone X-Git-Tag: archive/raspbian/2.2.3+dfsg-7+rpi1~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ec1e41053ebc1918a7513bb5077eacfcc4382ecc;p=pandas.git datetime does not work with non-constant pytz.timezone This has always been the case (and is explicitly warned about in the pytz documentation), but became a test fail when tzdata 2024b changed 'CET' and similar to aliases. Author: Rebecca N. Palmer Forwarded: no Gbp-Pq: Name no_pytz_datetime.patch --- diff --git a/pandas/tests/arrays/test_array.py b/pandas/tests/arrays/test_array.py index 96263f49..007aed25 100644 --- a/pandas/tests/arrays/test_array.py +++ b/pandas/tests/arrays/test_array.py @@ -272,7 +272,8 @@ def test_array_copy(): assert tm.shares_memory(a, b) -cet = pytz.timezone("CET") +cetfixed = pytz.timezone("Etc/GMT-1") # the wrong-looking sign is because Etc/* use posix convention, as described in the tzdata source +cetwithdst = pytz.timezone("Europe/Brussels") @pytest.mark.parametrize( @@ -313,11 +314,20 @@ cet = pytz.timezone("CET") ), ( [ - datetime.datetime(2000, 1, 1, tzinfo=cet), - datetime.datetime(2001, 1, 1, tzinfo=cet), + datetime.datetime(2000, 1, 1, tzinfo=cetfixed), + datetime.datetime(2001, 1, 1, tzinfo=cetfixed), ], DatetimeArray._from_sequence( - ["2000", "2001"], dtype=pd.DatetimeTZDtype(tz=cet, unit="ns") + ["2000", "2001"], dtype=pd.DatetimeTZDtype(tz=cetfixed, unit="ns") + ), + ), + ( + [ + cetwithdst.localize(datetime.datetime(2000, 1, 1)), + cetwithdst.localize(datetime.datetime(2001, 1, 1)), + ], + DatetimeArray._from_sequence( + ["2000", "2001"], dtype=pd.DatetimeTZDtype(tz=cetwithdst, unit="ns") ), ), # timedelta