2017-02-09 11 views
0

Как отрегулировать время, возвращенное с gmtime()?Python: настройка выходного сигнала 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"/неправильный способ идти об этом.

ответ

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'