Skip to content

Commit 63a21c5

Browse files
committed
BUG: more tz conversion testing
1 parent 4cf0250 commit 63a21c5

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

pandas/src/datetime.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ cdef ndarray _unbox_utcoffsets(object transinfo):
844844
return arr
845845

846846

847-
def tz_localize_array(ndarray[int64_t] vals, object tz):
847+
def tz_localize(ndarray[int64_t] vals, object tz):
848848
"""
849849
Localize tzinfo-naive DateRange to given time zone (using pytz). If
850850
there are ambiguities in the values, raise AmbiguousTimeError.

pandas/tseries/index.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -968,11 +968,14 @@ def tz_normalize(self, tz):
968968
-------
969969
normalized : DatetimeIndex
970970
"""
971-
from pandas._tseries import tz_convert
972971
tz = tools._maybe_get_tz(tz)
973-
new_dates = tz_convert(self.asi8, self.tz, tz)
974-
new_dates = new_dates.view('M8[us]')
975972

973+
if self.tz is None:
974+
new_dates = lib.tz_localize(self.asi8, tz)
975+
else:
976+
new_dates = lib.tz_convert(self.asi8, self.tz, tz)
977+
978+
new_dates = new_dates.view('M8[us]')
976979
new_dates = new_dates.view(type(self))
977980
new_dates.offset = self.offset
978981
new_dates.tz = tz
@@ -992,7 +995,7 @@ def tz_localize(self, tz):
992995
"use tz_normalize to convert.")
993996
tz = tools._maybe_get_tz(tz)
994997

995-
new_dates = lib.tz_localize_array(self.asi8, tz)
998+
new_dates = lib.tz_localize(self.asi8, tz)
996999
new_dates = new_dates.view('M8[us]')
9971000
new_dates = new_dates.view(self.__class__)
9981001
new_dates.offset = self.offset

pandas/tseries/tests/test_timeseries.py

+7
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,13 @@ def test_index_equals_with_tz(self):
738738

739739
self.assert_(not left.equals(right))
740740

741+
def test_tz_normalize_naive(self):
742+
rng = date_range('1/1/2011', periods=100, freq='H')
743+
744+
conv = rng.tz_normalize('US/Pacific')
745+
exp = rng.tz_localize('US/Pacific')
746+
self.assert_(conv.equals(exp))
747+
741748
def test_tz_convert(self):
742749
rng = date_range('1/1/2011', periods=100, freq='H')
743750
ts = Series(1, index=rng)

0 commit comments

Comments
 (0)