Search code examples
pythontimezoneutcpytz

pytz - Converting UTC and timezone to local time


I have a datetime in utc time zone, for example:

utc_time = datetime.datetime.utcnow()

And a pytz timezone object:

tz = timezone('America/St_Johns')

What is the proper way to convert utc_time to the given timezone?


Solution

  • I think I got it:

    pytz.utc.localize(utc_time, is_dst=None).astimezone(tz)
    

    This line first converts the naive (time zone unaware) utc_time datetime object to a datetime object that contains a timezone (UTC). Then it uses the astimezone function to adjust the time according to the requested time zone.