Skip to content

Commit 009186c

Browse files
author
Chang She
committed
BUG: Index created from FixedOffset tz without a name loses tz awareness #2604
1 parent 63103c4 commit 009186c

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

pandas/tseries/tests/test_timezones.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def dst(self, dt):
6060
return timedelta(0)
6161

6262
fixed_off = FixedOffset(-420, '-07:00')
63+
fixed_off_no_name = FixedOffset(-330, None)
6364

6465
class TestTimeZoneSupport(unittest.TestCase):
6566
_multiprocess_can_split_ = True
@@ -190,6 +191,16 @@ def test_create_with_fixed_tz(self):
190191
rng3 = date_range('3/11/2012 05:00:00+07:00', '6/11/2012 05:00:00+07:00')
191192
self.assert_((rng.values == rng3.values).all())
192193

194+
def test_create_with_fixedoffset_noname(self):
195+
off = fixed_off_no_name
196+
start = datetime(2012, 3, 11, 5, 0, 0, tzinfo=off)
197+
end = datetime(2012, 6, 11, 5, 0, 0, tzinfo=off)
198+
rng = date_range(start=start, end=end)
199+
self.assertEqual(off, rng.tz)
200+
201+
idx = Index([start, end])
202+
self.assertEqual(off, idx.tz)
203+
193204
def test_date_range_localize(self):
194205
rng = date_range('3/11/2012 03:00', periods=15, freq='H', tz='US/Eastern')
195206
rng2 = DatetimeIndex(['3/11/2012 03:00', '3/11/2012 04:00'],

pandas/tslib.pyx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,10 @@ cdef inline object _get_zone(object tz):
700700
return 'UTC'
701701
else:
702702
try:
703-
return tz.zone
703+
zone = tz.zone
704+
if zone is None:
705+
return tz
706+
return zone
704707
except AttributeError:
705708
return tz
706709

0 commit comments

Comments
 (0)