I am trying to add a timezone to a time without timezone. However, using 2 libraries gives 2 different results:
from datetime import datetime
import pytz
from zoneinfo import ZoneInfo
cur = datetime.now(tz=None)
print("utc,", cur) # -> 2023-02-24 17:28:20.574694
cur_tz = cur.replace(tzinfo=pytz.timezone('Asia/Dubai'))
print("dubai with pytz,", cur_tz) # -> 2023-02-24 17:28:20.574694+03:41
cur_tz = cur.replace(tzinfo=ZoneInfo('Asia/Dubai'))
print("dubai with zoneinfo,", cur_tz) # -> 2023-02-24 17:28:20.574694+04:00
The offset returned by pytz is 3hr 41 mins (incorrect) while the one returned by ZoneInfo is 4 hrs exactly (correct). What am I doing wrong with pytz?