【问题标题】:Converting Python datetime from UTC to PST [duplicate]将 Python 日期时间从 UTC 转换为 PST [重复]
【发布时间】:2021-12-29 01:42:50
【问题描述】:

使用 Python,我有一个带有值的日期时间对象(例如)

datetime(2021, 12, 28, 22, 31, tzinfo=tzutc())

这打印为

2021-12-28 22:31:00+00:00

如何在美国/太平洋地区显示?

我见过使用 import pytz 的引用,但我没有那个库可用。

回答: 即使它不是已检查的答案,我也喜欢@jfs 的回复

from datetime import datetime, timezone

def utc_to_local(utc_dt):
    return utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)

输出:

orig: 2021-12-28 22:31:00+00:00
after utc_to_local: 2021-12-28 14:31:00-08:00

此时我在 PST,与 UTC 的偏移量为 8 小时

【问题讨论】:

标签: python datetime timezone


【解决方案1】:

如果您使用的是 python 3.9+,则可以使用内置的zoneinfo

from zoneinfo import ZoneInfo
from dateutil.tz import tzutc
from datetime import datetime

date = datetime(2021, 12, 28, 22, 31, tzinfo=tzutc())
date = date.astimezone(ZoneInfo('US/Pacific'))
2021-12-28 14:31:00-08:00

【讨论】:

  • 为什么不使用ZoneInfo('UTC') 并保存导入?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 2016-01-13
  • 2011-08-29
  • 2013-12-07
  • 2012-01-16
  • 2018-07-28
  • 1970-01-01
相关资源
最近更新 更多