Conversion de chaînes d'heure locale en UTC
Dans certains scénarios, nous pouvons rencontrer le besoin de convertir une chaîne datetime de l'heure locale en UTC. Pour y parvenir, nous pouvons utiliser les modules datetime et pytz de Python.
Étape 1 : Analyser la chaîne d'heure locale
Commencez par analyser la chaîne d'heure locale en une date/heure naïve objet. Une date/heure naïve ne dispose pas d'informations sur le fuseau horaire.
Étape 2 : Identifier le fuseau horaire local
Ensuite, déterminez le fuseau horaire local à l'aide du module pytz. Construisez un objet fuseau horaire basé sur ces informations.
Étape 3 : Manipuler et attacher le fuseau horaire
Utilisez la méthode pytz.timezone() pour créer un objet fuseau horaire représentant le fuseau horaire local. Cependant, il est important de noter que les complexités de l'heure d'été (DST) introduisent des ambiguïtés.
Étape 4 : Conversion en UTC
Pour convertir la date/heure en UTC, appliquez la méthode astimezone() au datetime localisé. Cette méthode ajuste la date et l'heure à UTC tout en tenant compte de l'heure d'été et des autres différences de fuseau horaire.
Étape 5 : Formatage de la chaîne UTC
Enfin, utilisez la méthode strftime() pour formater la date/heure UTC dans la chaîne souhaitée représentation.
Exemple :
Envisagez de convertir la chaîne "2001-2-3 10:11:12" du fuseau horaire local "America/Los_Angeles" en UTC :
from datetime import datetime import pytz local = pytz.timezone("America/Los_Angeles") naive = datetime.strptime("2001-2-3 10:11:12", "%Y-%m-%d %H:%M:%S") local_dt = local.localize(naive, is_dst=None) utc_dt = local_dt.astimezone(pytz.utc) print(utc_dt.strftime("%Y-%m-%d %H:%M:%S")) # Output: 2001-02-03 18:11:12
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!