【发布时间】:2018-09-15 04:53:32
【问题描述】:
如何在 Python 中将 UTC 转换为太平洋时区?
我试过了,但它不起作用
from datetime import datetime
from pytz import timezone
fmt = "%Y-%m-%d %H:%M:%S %Z%z"
# Current time in UTC
now_utc = 1348283733848
# Convert to US/Pacific time zone
now_pacific = now_utc.astimezone(timezone('US/Pacific'))
print now_pacific.strftime(fmt)
错误:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
AttributeError: 'long' object has no attribute 'astimezone
我想将此 UTC 1348283733848 转换为人类可读格式的太平洋时区
【问题讨论】:
-
请发布您收到的错误信息。
-
@ErikCederstrand 这是错误消息 Traceback (最近一次调用最后一次): File "
", line 2, in AttributeError: 'long' object has no attribute 'astimezone跨度> -
now_utc是long因为你没有引用它。您需要将now_utc设为日期时间对象,而不是字符串或整数。据推测,您需要找到一个匹配的fmt字符串,或者跳过时区部分,只需将时间戳值转换为日期时间。 -
这行得通:
now_pacific = datetime.fromtimestamp(now_utc / 1000, tz=timezone('UTC')).astimezone(timezone('US/Pacific')),但日期/时间离“now”有点远。不确定这是否是您想要的。
标签: python datetime timezone utc