Skip to content

Commit a1ed5a5

Browse files
committed
Fix pandas-dev#13306: Hour overflow in tz-aware datetime conversions.
1 parent fcd73ad commit a1ed5a5

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

pandas/tslib.pyx

+4-9
Original file line numberDiff line numberDiff line change
@@ -3838,20 +3838,15 @@ def tz_convert(ndarray[int64_t] vals, object tz1, object tz2):
38383838
if (result==NPY_NAT).all():
38393839
return result
38403840

3841-
pos = trans.searchsorted(utc_dates[utc_dates!=NPY_NAT][0]) - 1
3842-
if pos < 0:
3843-
raise ValueError('First time before start of DST info')
3844-
3845-
# TODO: this assumed sortedness :/
3846-
offset = deltas[pos]
38473841
for i in range(n):
38483842
v = utc_dates[i]
38493843
if vals[i] == NPY_NAT:
38503844
result[i] = vals[i]
38513845
else:
3852-
while pos + 1 < trans_len and v >= trans[pos + 1]:
3853-
pos += 1
3854-
offset = deltas[pos]
3846+
pos = trans.searchsorted(v, side='right') - 1
3847+
if pos < 0:
3848+
raise ValueError('First time before start of DST info')
3849+
offset = deltas[pos]
38553850
result[i] = v + offset
38563851
return result
38573852

0 commit comments

Comments
 (0)