Python:调整gmtime输出

时间:2017-02-09 18:58:19

标签: python time

如何调整从gmtime()返回的时间?

from time import gmtime, strftime, localtime, strptime
print(strftime("%Y-%m-%d %H:%M:%S", gmtime()))
2017-02-09 18:54:31

但我想要的时间应该是:

2017-02-09 10:54:31

这需要减去8小时。我该怎么做?

我试过了:

a = gmtime()
a.tm_hour = a.tm_hour-8
TypeErrorTraceback (most recent call last)
<ipython-input-9-65a0fe0238c0> in <module>()
      1 a = gmtime()
----> 2 a.tm_hour = a.tm_hour-8

TypeError: readonly attribute

我也尝试过:

print(gmtime().tm_year, "/", gmtime().tm_mon, gmtime().tm_mday, gmtime().tm_hour-8,":",gmtime().tm_min,":",gmtime().tm_sec)
2017 / 2 8 9 : 56 : 51

但格式显然是关闭的,可能是一种“hacky”/错误的方式。

1 个答案:

答案 0 :(得分:0)

您可以使用datetime模块执行此操作:

from datetime import datetime, timedelta
from time import strftime

utc_minus_8hr = datetime.utcnow() - timedelta(hours=8)
utc_minus_8hr.strftime('%Y-%m-%d %H:%M:%S')

输出:

'2017-02-09 11:31:30'