【发布时间】:2021-10-10 08:21:32
【问题描述】:
那么,我想将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))
但输出仍然不是我提到的时区,如何转换时间并从时间打印时间。
输出:
2021-08-05 10:03:24.585000+05:21
【问题讨论】:
-
@deceze 当我尝试只打印
start_date时,输出为2021-08-05 10:03:24.585000+05:30 -
@MrFuppes 当我使用
astimezone()时,它说不能转换天真的日期时间。我是这方面的新手,您能抽出一些时间帮助我解释一下吗? -
是的,问题出在您的解析指令中的
Z。它基本上使strptime忽略了“Z”应该被解析为 aware 日期时间这一事实,这意味着 datetime 对象“知道”它属于某个时区,在这种情况下为 UTC。
标签: python python-3.x datetime time timezone