Análisis de cadenas de marca de tiempo con nombres abreviados de zona horaria en Python
El análisis de cadenas de marca de tiempo con nombres abreviados de zona horaria plantea un desafío único en Python. La biblioteca dateutil incorporada proporciona una función parser.parse() que facilita el análisis de marcas de tiempo, pero no aborda de manera inherente las abreviaturas de zonas horarias.
Para abordar este problema, una solución simple y efectiva utiliza el argumento de palabra clave tzinfos en analizador.parse(). Este argumento acepta un diccionario que asigna abreviaturas de zona horaria a sus correspondientes desplazamientos GMT en segundos.
Para completar el diccionario tzinfos, se puede crear manualmente una lista de abreviaturas y desplazamientos de zona horaria u obtenerse de fuentes externas. Una vez establecido el diccionario, el siguiente código demuestra cómo analizar cadenas de marca de tiempo y recuperar sus zonas horarias correspondientes:
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))
Este código itera a través de las abreviaturas de zona horaria proporcionadas y, para cada abreviatura, analiza la cadena de marca de tiempo y muestra el objeto de fecha y hora analizado. junto con el nombre de la zona horaria correspondiente.
Este enfoque maneja eficazmente cadenas de marcas de tiempo con zonas horarias abreviadas, lo que permite una fácil análisis e interpretación.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3