gpt4 book ai didi

python - 如何调整时区的 `strftime`?

转载 作者:太空狗 更新时间:2023-10-29 17:04:20 26 4
gpt4 key购买 nike

我像这样存储我的日期时间 int UTC:

import pytz, datetime

timeUTC = datetime.datetime(2013, 5, 23, 19, 27, 50, 0)
timezoneLocal = pytz.timezone('Europe/Vilnius')

timeLocal = timezoneLocal.localize(timeUTC)

但是当我尝试打印它时,它只会给我正常的 UTC 时间

>>> timeLocal.strftime('%H:%M:%S')
'19:27:50'

我希望它返回 '22:27:50' 因为这是本地时间(pytz.timezone('Europe/Vilnius') 是 +3眼下)。我在这里缺少什么?

最佳答案

将日期字符串本地化为 UTC 日期时间,然后使用 astimezone 将其转换为本地时区。

import pytz, datetime

timeUTC = datetime.datetime(2013, 5, 23, 19, 27, 50, 0)
timezoneLocal = pytz.timezone('Europe/Vilnius')
utc = pytz.utc
timeLocal = utc.localize(timeUTC).astimezone(timezoneLocal)
print(timeLocal)
# 2013-05-23 22:27:50+03:00

localize 不会转换 日期时间,它会解释日期字符串,就好像它是在该时区写入的一样。 localize 从原始日期时间(例如 timeUTC)构建一个时区感知日期时间。 astimezone 将时区感知日期时间转换为其他时区。

关于python - 如何调整时区的 `strftime`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com