如果我想转换时区,通常我会做如下
# local interpreted as pst to utc
utc = pytz.utc
pst = pytz.timezone('America/Los_Angeles')
start_time_str = time.strftime('%Y-%m-%d %H:%M:%S', \
time.localtime(start_time))
start_time_datetime = \
datetime.datetime.strptime(start_time_str, "%Y-%m-%d %H:%M:%S")
start_time_datetime = \
start_time_datetime.replace(tzinfo=pst).astimezone(utc)
现在我想做类似的事情,比如我想把本地时间转换成 pst
localtime = datetime.datetime.fromtimestamp(time.mktime(
time.localtime()))
我不太确定你会怎么做
任何帮助将不胜感激
最佳答案
两件事:
“America/Los_Angeles”
标识符代表整个太平洋时区,包括 PST 和 PDT。它将使用 -8 或 -7 作为时区偏移量,具体取决于使用它的具体日期和时间。调用
replace(tzinfo=...)
是一个错误。请改用localize
。参见 the pytz documentation .这在介绍和第一个示例中进行了讨论。
关于python - 你如何使用python将本地时间(PDT)转换为PST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988307/