@@ -2181,6 +2181,29 @@ def test_constructor_coverage(self):
2181
2181
end = '2011-01-01' , freq = 'B' )
2182
2182
self .assertRaises (ValueError , DatetimeIndex , periods = 10 , freq = 'D' )
2183
2183
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
+
2184
2207
def test_constructor_name (self ):
2185
2208
idx = DatetimeIndex (start = '2000-01-01' , periods = 1 , freq = 'A' ,
2186
2209
name = 'TEST' )
0 commit comments