如何在Python中将UTC时间转换为本地时间?

ham*_*ere 4 python time timezone datetime python-3.x

那么,我想将 UTC 日期时间转换2021-08-05 10:03:24.585Z为印度日期时间,如何转换呢?

我尝试的是

from datetime import datetime

from pytz import timezone

st = "2021-08-05 10:03:24.585Z"

datetime_object = datetime.strptime(st, '%Y-%m-%d %H:%M:%S.%fZ')

local_tz = timezone('Asia/Kolkata')
start_date = local_tz.localize(datetime_object)
print(start_date.replace(tzinfo=local_tz))
Run Code Online (Sandbox Code Playgroud)

但输出仍然不符合我提到的如何转换时间并打印时间的时区。

输出:

2021-08-05 10:03:24.585000+05:21
Run Code Online (Sandbox Code Playgroud)

小智 6

你可以这样使用:

from datetime import datetime
from dateutil import tz

from_zone = tz.gettz('UTC')
to_zone = tz.gettz('Asia/Kolkata')

utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

utc = utc.replace(tzinfo=from_zone)

central = utc.astimezone(to_zone)
Run Code Online (Sandbox Code Playgroud)