Maison  >  Article  >  développement back-end  >  Comment gérer les noms de fuseau horaire abrégés dans l'analyse de date Dateutil de Python ?

Comment gérer les noms de fuseau horaire abrégés dans l'analyse de date Dateutil de Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 08:51:29992parcourir

How to Handle Abbreviated Timezone Names in Python's Dateutil Date Parsing?

Analyse des chaînes de date/heure avec des noms de fuseau horaire abrégés en Python

Lors de l'analyse des chaînes de date/heure, il peut être difficile de gérer les fuseaux horaires abrégés noms. La fonction parse() de Dateutil, couramment utilisée pour l'analyse de dates en Python, peut ne pas gérer intrinsèquement les abréviations de fuseau horaire.

Solution avec l'argument de mot-clé tzinfos

Pour résoudre ce problème, vous pouvez utilisez l'argument de mot-clé tzinfos dans parse() de dateutil. Cet argument vous permet de transmettre un dictionnaire mappant les abréviations de fuseau horaire avec leurs décalages GMT correspondants en secondes. Par exemple, pour gérer un dictionnaire de fuseaux horaires connus (tzd) :

<code class="python">import dateutil.parser as dp
tzd = {'EST': -5*3600}  # Example dictionary
s = 'Sat, 11/01/09 8:00PM EST'
dt = dp.parse(s, tzinfos=tzd)
print(dt)  # Output: 2009-11-01 20:00:00-05:00</code>

Remplir le dictionnaire tzinfos

Le dictionnaire tzinfos peut être alimenté à partir de diverses sources. Une approche consiste à attribuer manuellement chaque abréviation de fuseau horaire à son décalage GMT correspondant. Vous pouvez également vous référer à des bases de données de fuseaux horaires prédéfinis ou à des sites Web comme timeanddate.com pour des listes plus complètes.

Remarque sur la dénomination des fuseaux horaires

Gardez à l'esprit que certains fuseaux horaires les abréviations peuvent correspondre à plusieurs fuseaux horaires. La résolution de ces conflits peut impliquer de donner la priorité aux variantes les plus couramment utilisées. Il convient également de noter que tous les fuseaux horaires ne peuvent pas avoir d'abréviations universellement reconnues, ce qui nécessite potentiellement une personnalisation plus poussée en fonction de votre cas d'utilisation.

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