Python:调整gmtime输出


如何

调整从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

但是格式显然是错误的,可能是一种"黑客"/错误的方式。

您可以使用

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'

最新更新