Skip to content

Commit 24f78cd

Browse files
committed
CLN: fix the tz_localization mess on construction
1 parent 76d4aab commit 24f78cd

File tree

3 files changed

+5
-11
lines changed

3 files changed

+5
-11
lines changed

pandas/core/ops.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -545,9 +545,9 @@ def _offset(lvalues, rvalues):
545545

546546
# with tz, convert to UTC
547547
if self.is_datetime64tz_lhs:
548-
lvalues = lvalues.tz_localize(None)
548+
lvalues = lvalues.tz_convert('UTC').tz_localize(None)
549549
if self.is_datetime64tz_rhs:
550-
rvalues = rvalues.tz_localize(None)
550+
rvalues = rvalues.tz_convert('UTC').tz_localize(None)
551551

552552
lvalues = lvalues.view(np.int64)
553553
rvalues = rvalues.view(np.int64)

pandas/io/packers.py

+2-8
Original file line numberDiff line numberDiff line change
@@ -597,15 +597,9 @@ def decode(obj):
597597

598598
dtype = dtype_for(obj[u'dtype'])
599599
pd_dtype = pandas_dtype(dtype)
600-
tz = getattr(pd_dtype, 'tz', None)
601600

602-
arr = unconvert(obj[u'data'], dtype, obj[u'compress'])
603-
604-
if tz:
605-
result = klass(arr, index=index, dtype=pd_dtype.base, name=name)
606-
result = result.dt.tz_localize('UTC').dt.tz_convert(tz)
607-
else:
608-
result = klass(arr, index=index, dtype=pd_dtype, name=name)
601+
result = klass(unconvert(obj[u'data'], dtype, obj[u'compress']),
602+
index=index, name=name, dtype=pd_dtype)
609603
return result
610604

611605
elif typ == u'block_manager':

pandas/types/cast.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ def _possibly_cast_to_datetime(value, dtype, errors='raise'):
825825
# localize
826826
value = to_datetime(
827827
value,
828-
errors=errors).tz_localize(dtype.tz)
828+
errors=errors).tz_localize('UTC').tz_convert(dtype.tz)
829829
elif is_timedelta64:
830830
value = to_timedelta(value, errors=errors)._values
831831
except (AttributeError, ValueError, TypeError):

0 commit comments

Comments
 (0)