2017-10-04 5 views
1

J'ai ce code, je reçois un timestamp unix d'un serveur qui a 2 heures d'avance sur mon temps. Mon temps est SAST et le leur est GMT +2.Convertir un horodatage unix en Python en datetime et faire 2 heures de retard

Je convertir cet horodatage en python à un datetime lisible comme celui-ci

import datetime 

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

Le problème est que cette fois-ci revient deux heures d'avance sur moi, alors ce serait le meilleur moyen de moins de deux heures ou faire C'est l'heure locale.

Répondre

2

Avec datetime.timedelta objet:

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) 
+0

semble avoir fonctionné comme un charme, que je remplace import datetime avec de import datetime datetime, timedelta? –

+0

@AndrewChristopher, comme vous le souhaitez: vous pouvez importer l'intégralité du module 'datetime' (' import datetime') OU importer les sous-modules/objets nécessaires 'depuis datetime import datetime, timedelta' – RomanPerekhrest

+0

Je continue d'obtenir des erreurs sur' from import datetime datetime, timedelta' –