小能豆

如何在当地时区打印日期时间?

python

假设我有一个变量 t 设置为此:

datetime.datetime(2009, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)

如果我说str(t),我得到:

'2009-07-10 18:44:59.193982+00:00'

除了在本地时区而不是 UTC 打印外,我如何获得类似的字符串?


阅读 113

收藏
2023-06-02

共1个答案

小能豆

如果你想获得类似的字符串表示,但在本地时区而不是UTC打印,你可以使用pytz库来处理时区转换。

首先,确保你已经安装了pytz库。如果没有安装,可以使用以下命令进行安装:

pip install pytz

然后,你可以按照以下步骤进行时区转换:

import datetime
import pytz

t = datetime.datetime(2009, 7, 10, 18, 44, 59, 193982, tzinfo=pytz.UTC)

local_tz = pytz.timezone('你的本地时区')  # 将 '你的本地时区' 替换为你实际的本地时区

local_t = t.astimezone(local_tz)
local_t_str = local_t.strftime('%Y-%m-%d %H:%M:%S.%f%z')

print(local_t_str)

在上面的代码中,你需要将 '你的本地时区' 替换为你实际的本地时区,例如 'Asia/Shanghai''America/New_York'

通过这种方式,你将得到一个类似的字符串表示,但在本地时区而不是UTC中打印。

2023-06-02