stub42/pytz

Offsets in seconds are truncated

ysangkok opened this issue · 1 comments

It seems like Local Mean Time offsets are truncated:

>>> import pytz
>>> import datetime
>>> pytz.timezone('Africa/Monrovia').localize(datetime.datetime(1972,1,1)).isoformat()
'1972-01-01T00:00:00-00:44'
>>> pytz.__version__
'2023.3.post1'

ZoneInfo does it right:

>>> from datetime import datetime, timedelta
>>> from zoneinfo import ZoneInfo
>>> datetime(1972,1,1,tzinfo=ZoneInfo('Africa/Monrovia')).isoformat()
'1972-01-01T00:00:00-00:44:30'

Yes, this is a documented limitation of pytz dating from old version of Python (still supported by pytz) which truncated to the nearest minute.