Skip to content

Commit 201ef16

Browse files
committed
Fixes display of offset with seconds
1 parent 12418d8 commit 201ef16

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

pendulum/tz/timezone_info.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ def __init__(self, tz, offset, is_dst, abbrev):
1616
self._tz = tz
1717
self._name = tz.name
1818
self._offset = offset
19+
20+
# Rounded to the nearest minute
21+
# This is a fix so that it works
22+
# with the datetime objects
23+
self._adjusted_offset = round(offset / 60) * 60
1924
self._is_dst = is_dst
2025
self._abbrev = abbrev
2126

@@ -48,9 +53,9 @@ def utcoffset(self, dt):
4853
elif dt.tzinfo is not self:
4954
dt = self.tz.convert(dt)
5055

51-
return dt.tzinfo.offset
56+
return dt.tzinfo._adjusted_offset
5257
else:
53-
return timedelta(seconds=self.offset)
58+
return timedelta(seconds=self._adjusted_offset)
5459

5560
def dst(self, dt):
5661
if not self.is_dst:
@@ -61,9 +66,9 @@ def dst(self, dt):
6166
elif dt.tzinfo is not self:
6267
dt = self.tz.convert(dt)
6368

64-
offset = dt.tzinfo.offset
69+
offset = dt.tzinfo._adjusted_offset
6570
else:
66-
offset = self.offset
71+
offset = self._adjusted_offset
6772

6873
return timedelta(seconds=offset)
6974

0 commit comments

Comments
 (0)