Tengo un archivo de volcado CSV de una copia de seguridad de Blackberry IPD, creado usando IPDDump. Las cadenas de fecha/hora en que aquí se ven algo como esto (donde EST
es una zona horaria de Australia):Python strptime() y zonas horarias?
Tue Jun 22 07:46:22 EST 2010
tengo que ser capaz de analizar esta fecha en Python. Al principio, traté de usar la función strptime()
desde datettime.
>>> datetime.datetime.strptime('Tue Jun 22 12:10:20 2010 EST', '%a %b %d %H:%M:%S %Y %Z')
Sin embargo, por alguna razón, el objeto datetime
que regresa no parece tener ninguna tzinfo
asociados a ella.
Yo ya había leído sobre this page que aparentemente datetime.strptime
silenciosamente descarta tzinfo
, sin embargo, he comprobado la documentación, y no puedo encontrar nada a tal efecto documentado here.
He podido obtener la fecha analizada utilizando una biblioteca de Python de otro fabricante, dateutil, sin embargo, todavía tengo curiosidad por saber cómo estaba usando el strptime()
incorporado incorrectamente. ¿Hay alguna manera de obtener strptime()
para jugar bien con los husos horarios?
¿No puedes ... convertir todas las fechas a GMT? – Robus
@Robus: Hmm, tenía la esperanza de hacerlo, pero suponía que strftime/datetime podría hacer eso de alguna manera.De cualquier manera, necesito almacenar/analizar el hecho de que los datos de fecha y hora están en la zona horaria EST, o en cualquier zona horaria que me ocurran. La secuencia de comandos debe poder analizar las fechas genéricas con la información de la zona horaria (por ejemplo, ETC podría ser cualquier otra zona horaria). – victorhooi
EST también es una abreviatura de zona horaria de EE. UU. (De manera similar, BST es una abreviatura de la zona horaria del Reino Unido y de Brasil). Dichas abreviaturas son intrínsecamente ambiguas. Use compensaciones relativas a UTC/GMT en su lugar. (Si necesita admitir abreviaturas, debe hacer que el mapeo dependa de la configuración regional y eso es un agujero sucio). –