Maison >développement back-end >Tutoriel Python >Comment analyser efficacement les chaînes ISO 8601 en objets datetime Python ?

Comment analyser efficacement les chaînes ISO 8601 en objets datetime Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 03:46:15212parcourir

How to Efficiently Parse ISO 8601 Strings into Python datetime Objects?

Comment analyser des chaînes ISO 8601 dans des objets Datetime Python

ISO 8601 est une norme largement utilisée pour représenter les dates et les heures. Il est souvent utilisé dans l’échange de données et les services Web. Cependant, l'analyse de chaînes ISO 8601 dans des objets datetime Python peut être un peu difficile.

Une approche hackish

Une approche courante consiste à utiliser la fonction time.strptime() pour analyser la chaîne. Cependant, cette approche peut s’avérer fastidieuse et sujette aux erreurs. Voici un exemple :

datetime.datetime(*time.strptime("2009-05-28T16:15:00", "%Y-%m-%dT%H:%M:%S")[:6])

Une solution plus propre

Heureusement, il existe des façons plus élégantes d'analyser les chaînes ISO 8601. La bibliothèque dateutil fournit une fonction pratique appelée parser.parse() :

from dateutil import parser

yourdate = parser.parse("2009-05-28T16:15:00")

Cette fonction peut gérer une large gamme de formats ISO 8601, y compris les chaînes avec des fuseaux horaires.

Exemple Utilisation

Voici quelques exemples d'utilisation de parser.parse() function :

# Parse a basic ISO 8601 string
dateutil.parser.parse("2009-05-28T16:15:00Z")

# Parse a string with a timezone offset
dateutil.parser.parse("2009-05-28T16:15:00-05:00")

# Parse a string with a fractional second
dateutil.parser.parse("2009-05-28T16:15:00.123Z")

La fonction parser.parse() renvoie un objet datetime que vous pouvez utiliser dans votre code Python.

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!

Déclaration:
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