将 UTC 时间转换为动态时区

时间:2021-06-15 05:46:39

标签: python datetime timezone utc

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

我使用了这段代码,但得到了 UTC 时间。

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

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

1 个答案:

答案 0 :(得分:2)

您需要使用 timezone 中的 timedeltadatetime

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'