Python: Convertir l'heure locale à un autre fuseau horaire
Je veux convertir l'heure actuelle à +0900 en Python.
Quel est le moyen le plus approprié pour ce faire (en supposant que dans le module)?
J'ai lu ce n'est pas incluse avec Python et vous devez utiliser quelque chose comme pytz.
Je ne veux pas le changer sur un serveur de base ou dans le monde, juste dans cette instance.
OriginalL'auteur Zeno | 2011-03-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
datetime
module à la place. Adapté de http://docs.python.org/library/datetime.html#datetime.tzinfo.fromutcDonne:
Quand je le lance (je suis à l'UTC-0500 pour un autre jour, puis l'heure d'été débute)
print datetime.utcnow()
de montrer une image complète de temps - votre local, l'UTC et décalé de temps.OriginalL'auteur Nick T
Pour obtenir l'heure actuelle pour
+0900
le décalage horaire UTC:N'utilisez pas conscients datetime objets, sauf si vous utilisez également pytz bibliothèque sinon vous risquez d'obtenir de mauvais résultats en raison de l'heure d'été transitions et d'autres changements de fuseau horaire. Si vous devez faire de l'arithmétique sur les objets datetime; de les convertir au format UTC premier.
Je voudrais savoir quel est le problème avec la réponse de sorte qu'il a obtenu le downvote, de sorte que la réponse peut être amélioré.
OriginalL'auteur jfs
Exemple pour la conversion des données à partir de l'UTC à l'IST
Je veux dire, est-t-il une commande withoin pytz que l'impression de toutes les chaînes disponibles?
me suis retrouvé
print( pytz.all_timezones)
OriginalL'auteur AlvaroAV
Juste au cas où vous pouvez utiliser pytz et d'autres modules externes, c'est plus simple solution de
puis
OriginalL'auteur aminalid
Dans le
datetime
module, il y a une classe de base abstraite appeléetzinfo
qui contrôle la façon dontdatetime.datetime
etdatetime.time
gérer les fuseaux horaires. En gros, vous tirer de votre propre classe pour contrôler le fuseau horaire de l'interprétation. Je n'ai jamais personnellement utilisé, donc je ne peux pas en dire beaucoup plus à ce sujet.Malheureusement, la seule fois de la zone de contrôle, je vois directement dans le
time
module de travail sur une base globale, je crois.OriginalL'auteur dappawit