将 UTC 时间转换为动态时区

Converting UTC time to dynamic timezones

我想将作为 1623715897 给出的 UTC timestamptimezone 值转换为19800'%H:%M:%S' 中的时间。我从开放天气 API 获得了这些信息,但我不知道如何转换为给定时间,包括时区值。

我使用了这个代码,但得到的是 UTC 时间。

from datetime import datetime
ts = 1623715897
tz = 19800
datetime.utcfromtimestamp(ts).strftime('%H:%M:%S')

我找不到使用 tz(时区)值的解决方案。

您需要利用 datetime

中的 timezonetimedelta
from datetime import datetime, timezone, timedelta
ts = 1623715897
tz = 19800
>>> datetime.utcfromtimestamp(ts).strftime('%H:%M:%S')
'00:11:37'

>>> datetime.fromtimestamp(ts, tz=timezone(timedelta(seconds=19800))).strftime('%H:%M:%S')
'05:41:37'