Est-ce la bonne façon de convertir une chaîne UTC en heure locale permettant l'heure d'été? Il semble ok pour moi, mais on ne sait jamais :)Est-ce la bonne façon de convertir une chaîne de date-heure UTC en heure locale?
import time
UTC_STRING = "2010-03-25 02:00:00"
stamp = time.mktime(time.strptime(UTC_STRING,"%Y-%m-%d %H:%M:%S"))
stamp -= time.timezone
now = time.localtime()
if now[8] == 1:
stamp += 60*60
elif now[8] == -1:
stamp -= 60*60
print 'UTC: ', time.gmtime(stamp)
print 'Local: ', time.localtime(stamp)
--- Résultats de la Nouvelle-Zélande (GMT + 12 dst = 1) ---
UTC: (2010, 3, 25, 2, 0, 0, 3, 84, 0)
Local: (2010, 3, 25, 15, 0, 0, 3, 84, 1)
Je voudrais accrocher une affiche où je travaille lire "la programmation de l'horloge n'est pas trivial!" – Escualo
J'ai testé en utilisant pytz. Le seul problème que je vois est que vous devez connaître la chaîne de fuseau horaire standard afin de définir le fuseau horaire. Cependant, lors de l'exécution de plusieurs O/S, notamment Windows (qui doit avoir la façon la plus étrange de définir le fuseau horaire), et après plusieurs heures de test, ce code snipit était le seul que je pouvais travailler de manière cohérente sur toutes les plateformes. – Steve
mais ceux-ci sont la chaîne standard et il doit y avoir moyen de dire quel fuseau horaire –