Maison > développement back-end > Tutoriel Python > Comment convertir des horodatages avec décalages horaires en objets datetime Python ?

Comment convertir des horodatages avec décalages horaires en objets datetime Python ?

DDD
Libérer: 2024-11-27 15:04:10
original
715 Les gens l'ont consulté

How to Convert Timestamps with Time Offsets to Python datetime Objects?

Convertir les horodatages avec décalage en objets Datetime à l'aide de strptime

Lorsque vous travaillez avec des horodatages qui incluent un décalage temporel, tels que "2012-07-24T23:14:29- 07:00", vous pouvez rencontrer des problèmes lors de leur conversion en objets datetime Python à l'aide de la méthode strptime. Le format par défaut spécifié dans la fonction strptime ne prend pas en charge les décalages horaires.

Cependant, vous pouvez explorer plusieurs stratégies pour résoudre cette conversion :

Ignorer le fuseau horaire

Si vous le faites Vous n'avez pas besoin de conserver les informations de fuseau horaire, vous pouvez choisir de les ignorer lors de la conversion. Cela peut être fait en découpant la chaîne d'horodatage pour exclure le décalage :

time_str = "2012-07-24T23:14:29-07:00"
time_str_no_offset = time_str[:19]  # Remove the offset portion

time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S")  # Convert without offset
Copier après la connexion

Utilisation du module dateutil

Une solution alternative consiste à exploiter le module dateutil. Il fournit une fonction d'analyse qui peut gérer les horodatages avec des décalages :

from dateutil.parser import parse

time_obj = parse(time_str)
Copier après la connexion

La fonction d'analyse détectera et inclura automatiquement les informations de fuseau horaire dans l'objet datetime résultant.

Python 3.2 ou version ultérieure

Si vous utilisez Python 3.2 ou une version plus récente, la prise en charge des fuseaux horaires a été améliorée. Vous pouvez utiliser le spécificateur de format %z pour inclure le décalage horaire :

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
Copier après la connexion

Notez que le dernier caractère deux-points du format doit être supprimé et que le trait d'union avant le décalage doit être remplacé par un signe plus ou un signe moins en fonction de la direction du décalage.

En implémentant ces approches, vous pouvez convertir efficacement les horodatages avec décalages en objets datetime en Python, en fonction de vos besoins spécifiques. exigences.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal