将时间从UTC更改为PDT

时间:2016-06-15 20:37:55

标签: python

这就是我所拥有的:

pat = '%Y-%m-%d %H:%M:%S +0000'
my_time = time.strptime(task_time, pattern)

但是,如何更改时区:

 my_time:
 2016-06-15 23:27:52 +0000

到不同的时区:

PDT

-0700

结果是:

result = 2016-06-15 16:27:52 -0700

1 个答案:

答案 0 :(得分:2)

使用python包arrow可以使用这个简单的脚本:

import arrow

fmt = "YYYY-MM-DD HH:mm:ss Z"

time = arrow.get("2016-06-15 23:27:52 +0000", fmt)
time = time.to("US/Pacific")

print(time.format(fmt))

2016-06-15 16:27:52 -0700

使用pip install arrow

安装箭头

编辑:如果您不想使用arrow包:

import time
import calendar

fmt = "%Y-%m-%d %H:%M:%S "

t = calendar.timegm(time.strptime("2016-06-15 23:27:52 +0000", fmt + "+0000"))
t -= 8 * 60 * 60

s = time.strftime(fmt + "-0700", time.gmtime(t))

print(s)

请注意,这是一个非常糟糕的代码,如果您在生产中使用它,您肯定会被解雇,所以只需安装arrow包!