Usando datetime.datetime.strptime pitón en ventanas con BST zona horaria

votos
2

Tengo que analizar muchas fechas diferentes en muchos formatos diferentes. Tengo problemas con la siguiente y se preguntó si anyopne podría explicar por qué;

Los siguientes trabajos sobre un sistema Linux:

from datetime import datetime
datetime.strptime('Tue 23 Aug 2011 09:00:07 PM BST','%a %d %b %Y %H:%M:%S %p %Z')

Pero se ejecuta en Windows que plantea

ValueError: datos en tiempo no coincide con el formato

Sin embargo, si intento GMT no BST en las ventanas, que funciona bien;

from datetime import datetime
datetime.strptime('Tue 23 Aug 2011 09:00:07 PM GMT','%a %d %b %Y %H:%M:%S %p %Z')

¿Hay alguna razón pitón no comprende la zona horaria GMT debajo de las ventanas, pero funciona bien en Linux?

Gracias,

Mate.

Publicado el 24/08/2011 a las 16:13
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

En mi opinión, análisis de un código de zona horaria de tres letras como esta no es una buena práctica (a menos que, por supuesto, no tiene otra opción). Por ejemplo, "EST" se utiliza comúnmente en los EE.UU. para UTC-4/5 y también se utiliza comúnmente en Australia. Por lo que cualquier apoyo a "EST" por lo tanto, debe ser dependiente de la configuración regional. No me sorprendería "HEB" fue igualmente ambigua.

Le recomiendo usar el pytzmódulo en el que se da el tiempo civil británico el identificador de cadena Europe/Londony UTC se llama Etc/UTC. La pytzAPI dará resultados consistentes independientemente de la localización del usuario o del sistema que ejecuta la aplicación.

Si está trabajando en una interfaz de usuario que debe estar ligada a la configuración regional, o analizar los insumos con los formatos que no puede cambiar, y luego considerar el uso de un diccionario de abreviaturas para pytzlos objetos de zona horaria. Por ejemplo: {'BST': 'Europe/London'}. A continuación, la aplicación puede trabajar con fechas y tiempos UTC de manera uniforme, lo que reducirá en gran medida la posibilidad de errores.

Respondida el 24/08/2011 a las 16:50
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more