Maison  >  Article  >  développement back-end  >  Comment analyser des chaînes d'horodatage avec des noms de fuseau horaire abrégés en Python ?

Comment analyser des chaînes d'horodatage avec des noms de fuseau horaire abrégés en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 08:59:30523parcourir

How to Parse Timestamp Strings with Abbreviated Timezone Names in Python?

Analyse des chaînes d'horodatage avec des noms de fuseau horaire abrégés en Python

L'analyse des chaînes d'horodatage avec des noms de fuseau horaire abrégés pose un défi unique en Python. La bibliothèque dateutil intégrée fournit une fonction parser.parse() qui facilite l'analyse de l'horodatage, mais elle ne traite pas intrinsèquement les abréviations de fuseau horaire.

Pour résoudre ce problème, une solution simple et efficace utilise l'argument de mot-clé tzinfos dans analyseur.parse(). Cet argument accepte un dictionnaire mappant les abréviations de fuseau horaire avec leurs décalages GMT correspondants en secondes.

Pour remplir le dictionnaire tzinfos, une liste d'abréviations et de décalages de fuseau horaire peut être créée manuellement ou obtenue à partir de sources externes. Une fois le dictionnaire établi, le code suivant montre comment analyser les chaînes d'horodatage et récupérer leurs fuseaux horaires correspondants :

<code class="python">import dateutil.parser as dp

s = 'Sat, 11/01/09 8:00PM'

# Create timezone abbreviation to offset dictionary
tzd = {
    'PST': -8*3600,
    'PDT': -7*3600,
    'MST': -7*3600,
    'MDT': -6*3600,
    'CST': -6*3600,
    'CDT': -5*3600,
    'EST': -5*3600,
    'EDT': -4*3600
}

for tz_code in ('PST','PDT','MST','MDT','CST','CDT','EST','EDT'):
    dt = s+' '+tz_code
    print(dt, '=', dp.parse(dt, tzinfos=tzd))</code>

Ce code parcourt les abréviations de fuseau horaire fournies, et pour chaque abréviation, il analyse la chaîne d'horodatage et affiche l'objet datetime analysé ainsi que le nom du fuseau horaire correspondant.

Cette approche gère efficacement les chaînes d'horodatage avec des fuseaux horaires abrégés, permettant une analyse et une interprétation faciles.

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