假设我有一个变量 t 设置为此:
datetime.datetime(2009, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
如果我说str(t),我得到:
str(t)
'2009-07-10 18:44:59.193982+00:00'
除了在本地时区而不是 UTC 打印外,我如何获得类似的字符串?
如果你想获得类似的字符串表示,但在本地时区而不是UTC打印,你可以使用pytz库来处理时区转换。
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'。
'你的本地时区'
'Asia/Shanghai'
'America/New_York'
通过这种方式,你将得到一个类似的字符串表示,但在本地时区而不是UTC中打印。