От секунд до gmt и от gmt до секунд в python с использованием библиотеки 'time' - PullRequest
0 голосов
/ 01 ноября 2019

Для следующего кода я ожидаю, что seconds_input и seconds_output будут одинаковыми. Но я получаю разницу в часах:

import time

seconds_input = 1571875186
date_struct1 = time.gmtime(seconds_input)

tm_str = time.strftime("%Y-%m-%d %H:%M:%S", date_struct1)
date_struct2 = time.strptime(tm_str, '%Y-%m-%d %H:%M:%S')
seconds_output = time.mktime(date_struct2)

print(seconds_input - seconds_output)
print(date_struct1, date_struct2)

Я предполагаю, что это может быть связано с tm_isdst=-1 в date_struct2, но я не уверен, как установить 0.

Я пробовал date_struct2.tm_isdst = 0, но получил следующую ошибку:

AttributeError: readonly attribute

Обновление:

, если значение seconds_input соответствует дате в будущемтогда секунды и входы и секунды будут одинаковыми.

Например, если seconds_input = 1673084786.

1 Ответ

0 голосов
/ 01 ноября 2019

В моем случае (GMT + 9) у меня разница в 9 часов.

Итак, я полагаю, вы получите разницу между вашим собственным TZ и GMT - так, как и должно быть.

Для правильного преобразования вы должны добавить (или вычесть) 3600 секунд, что составляет 1 час.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...