Преобразовать временную метку unix в Python в datetime и сделать 2 часа позади

У меня есть этот код, получайте временную метку unix с сервера, которая на 2 часа превышает мое время. Мое время - SAST, а их - GMT +2.

Я конвертирую эту метку времени в python в читаемое datetime, подобное этому

import datetime

unixtimestamp = 1507126064
datetime.datetime.fromtimestamp(unixtimestamp).strftime('%Y-%m-%d %H:%M:%S')

Проблема в том, что это время возвращается на два часа раньше меня, так что будет самым простым способом минус два часа или сделать это по местному времени.

1 ответ

С объектом datetime.timedelta:

from datetime import datetime, timedelta

unix_ts = 1507126064
dt = (datetime.fromtimestamp(unix_ts) - timedelta(hours=2)).strftime('%Y-%m-%d %H:%M:%S')
print(dt)

licensed under cc by-sa 3.0 with attribution.