Analyse des chaînes de date/heure avec des noms de fuseau horaire abrégés en Python
L'analyse des horodatages contenant des noms de fuseau horaire abrégés peut être difficile en Python. On pourrait tenter d'utiliser la fonction parse() de la bibliothèque dateutil, mais elle ne gère pas nativement les fuseaux horaires abrégés.
Une solution complète
Heureusement, dateutil propose une alternative solution. En transmettant un dictionnaire de noms de fuseaux horaires aux décalages GMT à l'argument du mot-clé tzinfos, nous pouvons spécifier les informations de fuseau horaire nécessaires. Cela permet une flexibilité dans l’analyse d’un large éventail d’abréviations de fuseaux horaires. Voici un exemple :
<code class="python">import dateutil.parser as dp # Dictionary mapping time zone abbreviations to GMT offsets tzd = {'EST': -5*3600, 'PDT': -7*3600, ...} s = 'Sat, 11/01/09 8:00PM' for tz_code in ('PST','PDT','MST','MDT','CST','CDT','EST','EDT'): dt = s+' '+tz_code print(dt, '=', dp.parse(dt, tzinfos=tzd))</code>
Dans cet exemple, le script parcourt une liste d'abréviations de fuseau horaire courantes et analyse la chaîne d'horodatage donnée en conséquence. Le résultat serait similaire à :
Sat, 11/01/09 8:00PM PST = 2009-11-01 20:00:00-08:00 Sat, 11/01/09 8:00PM PDT = 2009-11-01 20:00:00-07:00 ...
Remplir le dictionnaire des fuseaux horaires
Générer le dictionnaire des fuseaux horaires est aussi simple que de créer une carte des abréviations de leur décalages GMT correspondants. Pour cela, on peut consulter des ressources telles que timeanddate.com ou Wikipedia. Notez que certaines abréviations peuvent avoir plusieurs interprétations possibles, il est donc important de réfléchir attentivement à l'interprétation à attribuer en fonction du contexte.
Conclusion
En tirant parti de l'argument du mot clé tzinfos dans La fonction parse() de dateutil, nous pouvons analyser les horodatages avec des fuseaux horaires abrégés en Python, permettant des capacités de gestion de date/heure plus complètes.
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!