我想将指定为 1623715897 的 UTC 时间戳 和指定为 19800 的 时区 值转换为时间在 '%H:%M:%S' 中。我从开放天气 API 获得了这些信息,但我不知道如何转换为给定的时间,包括时区值。
我使用了这段代码,但得到了 UTC 时间。
from datetime import datetime
ts = 1623715897
tz = 19800
datetime.utcfromtimestamp(ts).strftime('%H:%M:%S')
我没有找到使用 tz(时区)值的解决方案。
答案 0 :(得分:2)
您需要使用 timezone
中的 timedelta
和 datetime
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'