@@ -2181,6 +2181,29 @@ def test_constructor_coverage(self):
21812181 end = '2011-01-01' , freq = 'B' )
21822182 self .assertRaises (ValueError , DatetimeIndex , periods = 10 , freq = 'D' )
21832183
2184+ def test_constructor_datetime64_tzformat (self ):
2185+ # GH 6572
2186+ tm ._skip_if_no_pytz ()
2187+ tm ._skip_if_no_dateutil ()
2188+ from dateutil .tz import tzoffset
2189+ for freq in ['AS' , 'W-SUN' ]:
2190+ idx = date_range ('2013-01-01T00:00:00-05:00' , '2016-01-01T23:59:59-05:00' , freq = freq )
2191+ expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2192+ freq = freq , tz = tzoffset (None , - 18000 ))
2193+ tm .assert_index_equal (idx , expected )
2194+ # Unable to use `US/Eastern` because of DST
2195+ expected_i8 = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2196+ freq = freq , tz = 'America/Lima' )
2197+ self .assert_numpy_array_equal (idx .asi8 , expected_i8 .asi8 )
2198+
2199+ idx = date_range ('2013-01-01T00:00:00+09:00' , '2016-01-01T23:59:59+09:00' , freq = freq )
2200+ expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2201+ freq = freq , tz = tzoffset (None , 32400 ))
2202+ tm .assert_index_equal (idx , expected )
2203+ expected_i8 = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2204+ freq = freq , tz = 'Asia/Tokyo' )
2205+ self .assert_numpy_array_equal (idx .asi8 , expected_i8 .asi8 )
2206+
21842207 def test_constructor_name (self ):
21852208 idx = DatetimeIndex (start = '2000-01-01' , periods = 1 , freq = 'A' ,
21862209 name = 'TEST' )
0 commit comments