Estoy escribiendo un programa que trata mucho con husos horarios y los cruza. Las dos cosas con las que trato más son crear un objeto datetime desde "ahora" y luego localizar un objeto naive datetime.Horario de verano en Python
Para crear un objeto de fecha y hora a partir de ahora en la zona horaria del Pacífico, actualmente estoy haciendo esto (pitón 2.7.2+)
from datetime import datetime
import pytz
la = pytz.timezone("America/Los_Angeles")
now = datetime.now(la)
¿Es esto correcto en relación con el horario de verano? Si no, supongo que debería estar haciendo:
now2 = la.localize(datetime.now())
Mi pregunta es por qué? ¿Alguien puede mostrarme un caso donde el primero es incorrecto y los segundos son correctos?
En cuanto a la pregunta de segundos, supongamos que tengo una fecha y hora ingenua de la entrada de algunos usuarios para el 1/09/2012 a las 8:00 a.m. en Los Ángeles, CA. Es la manera correcta de hacer que el datetime como este:
la.localize(datetime(2012, 9, 1, 8, 0))
Si no, ¿cómo debería estar construyendo estas fechas?
la forma preferible de obtener la hora actual en una zona horaria dada es: 'datetime.now (tz)'. – jfs
@ J.F.Sebastian Sospecho que no funciona de manera confiable con las zonas horarias 'pytz', por las mismas razones que el constructor' datetime' no funciona con ellas. –
funciona: [¿cuándo falla 'datetime.now (pytz_timezone)'?] (Http://stackoverflow.com/q/31886808/4279) – jfs