Maison >développement back-end >Tutoriel Python >Comment puis-je analyser efficacement les dates et heures ISO 8601 en Python ?

Comment puis-je analyser efficacement les dates et heures ISO 8601 en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-21 09:31:11307parcourir

How Can I Efficiently Parse ISO 8601 Dates and Times in Python?

Analyse des dates et heures ISO 8601 avec python-dateutil**

Pour analyser facilement les chaînes de date et d'heure au format ISO 8601 telles que "2008- 09-03T20:56:35.450686Z" dans Python type datetime, pensez à utiliser la fonction dateutil.parser.isoparse du package python-dateutil.

Fonction isoparse

La La fonction isoparse interprète diverses dates ISO 8601 et chaînes d'heure, même celles qui ne sont pas conformes aux spécifications RFC 3339 (par exemple, chaînes sans décalage UTC ou chaînes de date uniquement).

Utilisation :

>>> import dateutil.parser
>>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686Z')  # RFC 3339 format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686, tzinfo=tzutc())
>>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686')  # ISO 8601 extended format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>> dateutil.parser.isoparse('20080903T205635.450686')  # ISO 8601 basic format
datetime.datetime(2008, 9, 3, 20, 56, 35, 450686)
>>> dateutil.parser.isoparse('20080903')  # ISO 8601 basic format, date only
datetime.datetime(2008, 9, 3, 0, 0)

Alternatives à isoparse**

Le Le package python-dateutil fournit également dateutil.parser.parse, qui est moins strict et peut tenter des interprétations. Pour une précision maximale, envisagez d'utiliser un analyseur plus strict.

Attention avec le datetime.datetime.fromisoformat** intégré de Python

Dans les versions Python antérieures à 3.10, fromisoformat n'est pas un analyseur ISO-8601 complet. Dans Python 3.11, il prend presque entièrement en charge la norme ISO 8601, mais conserve certaines limitations. Consultez la documentation officielle pour plus de détails.

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