Maison >développement back-end >Tutoriel Python >Pourquoi « strptime() » de Python ne préserve-t-il pas les fuseaux horaires, et quelle est la meilleure alternative ?

Pourquoi « strptime() » de Python ne préserve-t-il pas les fuseaux horaires, et quelle est la meilleure alternative ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-14 19:45:02526parcourir

Why Doesn't Python's `strptime()` Preserve Time Zones, and What's the Best Alternative?

Comprendre la synchronisation DateTime avec strptime()

Problème :

Lors de la tentative d'analyse des chaînes de date et d'heure avec des fuseaux horaires En utilisant la fonction strptime() de Python, vous avez remarqué que l'objet datetime renvoyé ne dispose pas d'informations sur le fuseau horaire. Malgré la consultation de la documentation, vous ne trouvez aucune référence documentée à ce comportement.

Réponse :

Bien que la documentation de strptime() n'indique pas explicitement son omission des fuseaux horaires, il est connu de les ignorer silencieusement. Cependant, il existe une solution alternative pour préserver avec précision les fuseaux horaires.

Solution :

Pour gérer efficacement les fuseaux horaires lors de l'analyse des chaînes de date et d'heure, il est recommandé d'utiliser le module python-dateutil. Son analyseur offre une gestion complète du format de date, y compris les fuseaux horaires.

Démonstration :

from dateutil import parser

# Parsing a date with an explicit time zone
parsed_datetime = parser.parse("Tue Jun 22 07:46:22 EST 2010")
print(parsed_datetime.tzinfo)  # Outputs 'tzlocal()' (local time zone)

Conclusion :

Par en utilisant l'analyseur python-dateutil, vous pouvez analyser efficacement les chaînes de date et d'heure avec des fuseaux horaires préservés, éliminant ainsi le besoin de gérer Limites de strptime().

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