Maison >développement back-end >Tutoriel Python >Comment puis-je analyser efficacement les dates et heures ISO 8601 en 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!