@@ -5,9 +5,6 @@ cimport numpy as cnp
5
5
from numpy cimport int64_t, int32_t, intp_t, ndarray
6
6
cnp.import_array()
7
7
8
- from dateutil.zoneinfo import tzfile as du_tzfile1
9
- from dateutil.tz.tz import tzfile as du_tzfile2
10
-
11
8
import pytz
12
9
13
10
# stdlib datetime imports
@@ -32,7 +29,7 @@ from pandas._libs.tslibs.util cimport (
32
29
from pandas._libs.tslibs.timedeltas cimport cast_from_unit
33
30
from pandas._libs.tslibs.timezones cimport (
34
31
is_utc, is_tzlocal, is_fixed_offset, get_utcoffset, get_dst_info,
35
- get_timezone, maybe_get_tz, tz_compare)
32
+ get_timezone, maybe_get_tz, tz_compare, treat_tz_as_dateutil )
36
33
from pandas._libs.tslibs.timezones import UTC
37
34
from pandas._libs.tslibs.parsing import parse_datetime_string
38
35
@@ -366,10 +363,7 @@ cdef _TSObject convert_datetime_to_tsobject(datetime ts, object tz,
366
363
else :
367
364
obj.value = pydatetime_to_dt64(ts, & obj.dts)
368
365
# GH 24329 Take DST offset into account
369
- # Two check in if necessary because class
370
- # differs on Windows and Linux
371
- if (isinstance (ts.tzinfo, du_tzfile1) or
372
- isinstance (ts.tzinfo, du_tzfile2)):
366
+ if treat_tz_as_dateutil(ts.tzinfo):
373
367
if ts.tzinfo.is_ambiguous(ts):
374
368
dst_offset = ts.tzinfo.dst(ts)
375
369
obj.value += int (dst_offset.total_seconds() * 1e9 )
0 commit comments