when I create a timezone aware datetime object for \'US/Eastern\'
and print it out, It shows as if my time zone is -4:56
instead of -4:00
<
Have a look at dateutil - you can safely construct the tz-aware datetime object using your originally intended method:
import datetime
import dateutil
obj = datetime.datetime(2020, 7, 1, 9, 30, tzinfo=dateutil.tz.gettz('US/Eastern'))
print(obj)
# 2020-07-01 09:30:00-04:00
In Python 3.9, there will be zoneinfo as part of the standard lib for that task.