@@ -2173,10 +2173,31 @@ def test_constructor_coverage(self):
2173
2173
def test_constructor_datetime64_tzformat (self ):
2174
2174
# GH 6572
2175
2175
tm ._skip_if_no_pytz ()
2176
+ import pytz
2177
+ # ISO 8601 format results in pytz.FixedOffset
2178
+ for freq in ['AS' , 'W-SUN' ]:
2179
+ idx = date_range ('2013-01-01T00:00:00-05:00' , '2016-01-01T23:59:59-05:00' , freq = freq )
2180
+ expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2181
+ freq = freq , tz = pytz .FixedOffset (- 300 ))
2182
+ tm .assert_index_equal (idx , expected )
2183
+ # Unable to use `US/Eastern` because of DST
2184
+ expected_i8 = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2185
+ freq = freq , tz = 'America/Lima' )
2186
+ self .assert_numpy_array_equal (idx .asi8 , expected_i8 .asi8 )
2187
+
2188
+ idx = date_range ('2013-01-01T00:00:00+09:00' , '2016-01-01T23:59:59+09:00' , freq = freq )
2189
+ expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2190
+ freq = freq , tz = pytz .FixedOffset (540 ))
2191
+ tm .assert_index_equal (idx , expected )
2192
+ expected_i8 = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2193
+ freq = freq , tz = 'Asia/Tokyo' )
2194
+ self .assert_numpy_array_equal (idx .asi8 , expected_i8 .asi8 )
2195
+
2176
2196
tm ._skip_if_no_dateutil ()
2177
2197
from dateutil .tz import tzoffset
2198
+ # Non ISO 8601 format results in dateutil.tz.tzoffset
2178
2199
for freq in ['AS' , 'W-SUN' ]:
2179
- idx = date_range ('2013-01-01T00 :00:00-05 :00' , '2016-01-01T23 :59:59-05 :00' , freq = freq )
2200
+ idx = date_range ('2013/1/1 0 :00:00-5 :00' , '2016/1/1 23 :59:59-5 :00' , freq = freq )
2180
2201
expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2181
2202
freq = freq , tz = tzoffset (None , - 18000 ))
2182
2203
tm .assert_index_equal (idx , expected )
@@ -2185,7 +2206,7 @@ def test_constructor_datetime64_tzformat(self):
2185
2206
freq = freq , tz = 'America/Lima' )
2186
2207
self .assert_numpy_array_equal (idx .asi8 , expected_i8 .asi8 )
2187
2208
2188
- idx = date_range ('2013-01-01T00 :00:00+09 :00' , '2016-01-01T23 :59:59+09:00' , freq = freq )
2209
+ idx = date_range ('2013/1/1 0 :00:00+9 :00' , '2016/1/1 23 :59:59+09:00' , freq = freq )
2189
2210
expected = date_range ('2013-01-01T00:00:00' , '2016-01-01T23:59:59' ,
2190
2211
freq = freq , tz = tzoffset (None , 32400 ))
2191
2212
tm .assert_index_equal (idx , expected )
0 commit comments