Maison > développement back-end > Tutoriel Python > Comment « dateutil.parser.isoparse » de Python peut-il gérer efficacement divers formats de date et d'heure ISO 8601 ?

Comment « dateutil.parser.isoparse » de Python peut-il gérer efficacement divers formats de date et d'heure ISO 8601 ?

Mary-Kate Olsen
Libérer: 2024-12-28 13:50:40
original
751 Les gens l'ont consulté

How can Python's `dateutil.parser.isoparse` efficiently handle various ISO 8601 date and time formats?

Analyse de la date et de l'heure ISO 8601 avec le type dateutil.parser.isoparse de Python

L'analyse des chaînes de date et d'heure ISO 8601 dans le type datetime de Python peut être difficile, en particulier lors de l'utilisation du strptime de la bibliothèque standard Python.

Solution : Utilisation de la fonction isoparse de python-dateutil

Le package python-dateutil offre une solution pratique avec sa fonction dateutil.parser.isoparse. Isoparse excelle dans la gestion de divers formats ISO 8601, notamment :

  • Chaînes datetime RFC 3339 (par exemple, "2008-09-03T20:56:35.450686Z")
  • Formats ISO 8601 étendus (par exemple, "2008-09-03T20:56:35.450686")
  • Formats ISO 8601 de base (par exemple, "20080903T205635.450686")
  • Formats de date uniquement (par exemple, "20080903")

Exemples illustrant l'analyse de divers formats ISO 8601 :

import dateutil.parser

iso_datetime = "2008-09-03T20:56:35.450686Z"
print(dateutil.parser.isoparse(iso_datetime))  # datetime with UTC timezone

iso_extended = "2008-09-03T20:56:35.450686"
print(dateutil.parser.isoparse(iso_extended))  # datetime without timezone

iso_basic = "20080903T205635.450686"
print(dateutil.parser.isoparse(iso_basic))  # datetime without timezone

iso_date = "20080903"
print(dateutil.parser.isoparse(iso_date))  # date
Copier après la connexion

Notes supplémentaires

python-dateutil également propose dateutil.parser.parse, qui tente d'interpréter la norme ISO 8601 invalide cordes. Cependant, pour une analyse plus stricte, envisagez d'autres options comme les expressions régulières ou un analyseur ISO 8601 dédié.

Python 3.7 a introduit datetime.datetime.fromisoformat, qui analyse un sous-ensemble de chaînes ISO 8601. Dans Python 3.11, il prend en charge presque tous les formats ISO 8601 valides. Cependant, il peut encore différer d'isoparse en termes de flexibilité et d'interprétation de certains cas extrêmes.

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