将 Unix 时间戳转换为 AOE
Posted
技术标签:
【中文标题】将 Unix 时间戳转换为 AOE【英文标题】:Covert Unix Timestamp to AOE 【发布时间】:2020-06-01 17:05:21 【问题描述】:我正在尝试将 Unix 时间戳转换为 AoE 时间。我试过 pytz 但似乎 pytz 没有 AoE 时间。有什么办法可以做到吗?
tz = pytz.timezone('AOE')
timestamp_aoe = datetime.fromtimestamp(timestamp, tz).isoformat()
【问题讨论】:
【参考方案1】:AoE
时区 (Anywhere on Earth; UTC-12) 未在 IANA tz 数据库 as far as I can tell 中定义。这是一个静态 UTC 偏移量为 -12 小时的时区,您也可以在“yankee”或“NATO”时间下找到它,参见military time zones。
由于过去 UTC 偏移量从未改变(没有 DST 等),您可以简单地自己定义它:
from datetime import datetime, timezone, timedelta
timestamp = 1582013600.5 # example UNIX time
tz = timezone(timedelta(hours=-12), name='AOE')
dt_aoe = datetime.fromtimestamp(timestamp, tz)
print(repr(dt_aoe), dt_aoe.isoformat())
# datetime.datetime(2020, 2, 17, 20, 13, 20, 500000, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=43200), 'AOE'))
# 2020-02-17T20:13:20.500000-12:00
【讨论】:
以上是关于将 Unix 时间戳转换为 AOE的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Shell 将 ISO 8601 时间戳转换为 Unix 时间戳?