Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Comment puis-je obtenir les horaires d'autres fuseaux horaires ?

0 votes
demandé 9-Avr-2016 par anonyme

2 Réponses

+2 votes

Ta question n'est pas très claire, je vais supposer que tu cherche simplement à convertir un horaire donné dans un autre fuseau horaire.

Avant tout, tu devrais être familier avec l'objet datetime de python, qui comprend un attribut tzinfo, les conversions pouvant être faites avec la méthode astimezone.

Pour la gestion des timezones elles même, il y a le module pytz. Voir aussi ce post chez sametmax.

répondu 9-Avr-2016 par yoch (2,514 points)

Bon j'essaie de vous expliquez d'avantage.. Voilà le programme que j'ai fait pour afficher l'heure locale.

import tkinter
import time

curtime = ''
clock = tkinter.Label()
clock.pack( )

def tick( ):
    global curtime
    newtime = time.strftime('%H:%M:%S')
    if newtime != curtime:
        curtime = newtime
        clock.config(text=curtime)
    clock.after(200, tick)
tick( )
clock.mainloop( )

Maintenant je cherche à afficher l'heure d'autres pays par exemple les états unis.

Tout d'abord tu devrais plutôt utiliser les fonctions datetime et non celles du module time, comme indiqué ci-dessus. Regarde notamment du coté de now.

Ensuite, regarde par exemple ici. (tu noteras que l'heure de départ est UTC et non l'heure locale, parce que c'est une bonne pratique, mais ce n'est pas obligatoire.)

Pour l'exemple, voici un code dérivé du tien, à base de la réponse ci-dessus.

import pytz

def tick():
    tm = datetime.now(tz=pytz.utc).time()  # choisit UTC comme référence
    utctime = tm.strftime('%H:%M:%S')
    eastern = pytz.timezone('US/Eastern')  # nouvelle timezone
    nytime = tm.replace(tzinfo=eastern).strftime('%H:%M:%S')
    clock.config(text='UTC(%s) - NY(%s)' % (utctime, nytime))
    clock.after(200, tick)
+1 vote
...