Maison > développement back-end > Tutoriel Python > Comment puis-je convertir des chaînes d'heure locale en UTC en Python ?

Comment puis-je convertir des chaînes d'heure locale en UTC en Python ?

Susan Sarandon
Libérer: 2024-11-30 22:45:12
original
322 Les gens l'ont consulté

How Can I Convert Local Time Strings to UTC in Python?

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal