Skip to content

Commit c0cbf1c

Browse files
author
MarcoGorelli
committed
wip
1 parent 597238d commit c0cbf1c

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

pandas/_libs/tslib.pyx

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ from cpython.object cimport PyObject
1212
import_datetime()
1313

1414

15+
import dateutil
1516
cimport numpy as cnp
1617
from numpy cimport (
1718
float64_t,
@@ -42,7 +43,6 @@ from pandas._libs.util cimport (
4243
is_float_object,
4344
is_integer_object,
4445
)
45-
import datetime as dt
4646

4747
from pandas._libs.tslibs.np_datetime import OutOfBoundsDatetime
4848
from pandas._libs.tslibs.parsing import parse_datetime_string
@@ -723,12 +723,12 @@ cpdef array_to_datetime(
723723
if not is_same_offsets:
724724
_result = np.empty(n, dtype="object")
725725
for i in range(n):
726-
if iresult[i] != iresult[i] or iresult[i] == NPY_NAT:
727-
_result[i] = result[i]
726+
if iresult[i] == NPY_NAT:
727+
_result[i] = NaT
728728
continue
729-
_dt = dt.datetime.utcfromtimestamp(iresult[i]/1_000_000_000)
729+
_dt = parse_datetime_string(str(result[i]))
730730
if result_timezone[i] is not None:
731-
_tzinfo = pytz.FixedOffset(result_timezone[i]/60)
731+
_tzinfo = dateutil.tz.tzoffset(None, result_timezone[i])
732732
_result[i] = _dt.replace(tzinfo=pytz.UTC).astimezone(_tzinfo)
733733
else:
734734
_result[i] = _dt

pandas/tests/tools/test_to_datetime.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1353,11 +1353,11 @@ def test_mixed_offsets_with_native_datetime_raises(self):
13531353
mixed = to_datetime(ser)
13541354
expected = Series(
13551355
[
1356-
"NaT",
1356+
NaT,
13571357
Timestamp("1990-01-01"),
13581358
Timestamp("2015-03-14T16:15:14.123-08:00").to_pydatetime(),
13591359
Timestamp("2019-03-04T21:56:32.620-07:00").to_pydatetime(),
1360-
None,
1360+
NaT,
13611361
],
13621362
dtype=object,
13631363
)

0 commit comments

Comments
 (0)