Comment convertir des horodatages avec des décalages de fuseau horaire en objets datetime Python ?

DDD
Libérer: 2024-11-27 05:48:09
original
421 Les gens l'ont consulté

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

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

Conversion d'horodatages du format "AAAA-MM-JJTHH:MM:SS-hh:mm" en objets datetime en Python, l'utilisation de la méthode strptime peut être difficile en raison des informations de décalage temporel.

Dans l'exemple fourni, strptime ne parvient pas à analyser l'horodatage avec le décalage "-07:00" en utilisant le format "%Y-%m-%dT%H:%M:%S-%z". En effet, strptime ne prend pas en charge nativement la directive '%z' pour les fuseaux horaires dans Python 2.

Options de solution de contournement :

1. Ignorer le fuseau horaire :

Si les informations de fuseau horaire ne sont pas cruciales, vous pouvez l'ignorer en analysant la chaîne jusqu'au décalage :

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

2. Utilisez le module dateutil :

Alternativement, le module dateutil fournit une fonction d'analyse plus robuste qui prend en charge les fuseaux horaires :

from dateutil.parser import parse
time_obj = parse(time_str)
Copier après la connexion

Prise en charge de Python 3 :

Dans Python 3.2 et versions ultérieures, la prise en charge de la gestion des fuseaux horaires a été améliorée. Supprimer le dernier ":" du décalage et remplacer "-" par " :

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

Cela analysera correctement l'horodatage et créera un objet datetime avec le décalage de fuseau horaire spécifié.

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