Das Parsen von Zeitstempelzeichenfolgen mit abgekürzten Zeitzonennamen in Python
Das Parsen von Zeitstempelzeichenfolgen mit abgekürzten Zeitzonennamen stellt in Python eine einzigartige Herausforderung dar. Die integrierte dateutil-Bibliothek bietet eine parser.parse()-Funktion, die das Parsen von Zeitstempeln erleichtert, aber Zeitzonenabkürzungen nicht automatisch berücksichtigt.
Um dieses Problem zu lösen, verwendet eine einfache und effektive Lösung das Schlüsselwortargument tzinfos in parser.parse(). Dieses Argument akzeptiert ein Wörterbuch, das Zeitzonenabkürzungen ihren entsprechenden GMT-Offsets in Sekunden zuordnet.
Um das tzinfos-Wörterbuch zu füllen, kann eine Liste von Zeitzonenabkürzungen und -offsets manuell erstellt oder aus externen Quellen bezogen werden. Sobald das Wörterbuch eingerichtet ist, zeigt der folgende Code, wie Zeitstempelzeichenfolgen analysiert und die entsprechenden Zeitzonen abgerufen werden:
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))
Dieser Code durchläuft die bereitgestellten Zeitzonenabkürzungen, analysiert für jede Abkürzung die Zeitstempelzeichenfolge und zeigt das analysierte Datetime-Objekt an zusammen mit dem entsprechenden Zeitzonennamen.
Dieser Ansatz verarbeitet Zeitstempelzeichenfolgen effektiv mit abgekürzten Zeitzonen und ermöglicht so eine einfache Analyse und Interpretation.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3