Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Time Zone en Django.

Estas en el tema de Time Zone en Django. en el foro de Python en Foros del Web. Hola todos. Tengo un problema con el Time Zone de Django. Necesito guardar la hora en la que se envía un formulario. Para eso uso ...
  #1 (permalink)  
Antiguo 22/12/2013, 00:07
Avatar de stormearth  
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 10 años, 6 meses
Puntos: 2
Time Zone en Django.

Hola todos. Tengo un problema con el Time Zone de Django. Necesito guardar la hora en la que se envía un formulario. Para eso uso datetime.today()... y se guarda la hora seis horas más tarde, la de Greenwich.
He probado en el shell de django:

python manage.py shell
Código:
 >>> from datetime import datetime
>>> datetime.today()
datetime.datetime(2013, 12, 22, 6, 5, 53, 577646) :-(
sin el shell de django:
python

Código:
 >>> from datetime import datetime
>>> datetime.today()
datetime.datetime(2013, 12, 22, 0, 41, 17, 530663)
He leído algo de la documentación y honestamente no entiendo bien qué hay que hecer..
Gracias por sus respuestas. Saludos!
  #2 (permalink)  
Antiguo 22/12/2013, 16:14
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Time Zone en Django.

Checa la documentación acerca de eso: https://docs.djangoproject.com/en/de...tetime-objects

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 27/12/2013, 13:14
Avatar de stormearth  
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 10 años, 6 meses
Puntos: 2
Respuesta: Time Zone en Django.

Que tal Carlangueitor te cuento que leì toda la documentación oficial al respecto. Y no me queda claro cómo cambiar el Default Timezone que utiliza Django. .. debo instalar pytz? Este es un problema seguramente muy simple y todo el mundo que usa django1.6 debe enfrentarlo, tal vez la solución es demasiado simple y la tengo frente a las narices sin darme cuenta. Donde yo vivo no tenemos cambios de hora, asi que la hora puede bien ser "naive" como "aware" desde ese punto de vista. Solo necesito cambiar el timezone a -GMT. Bueno gracias por la ayuda..
  #4 (permalink)  
Antiguo 27/12/2013, 13:34
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Time Zone en Django.

Voy a copiar el código que viene ahí:


Código Python:
Ver original
  1. import datetime
  2. from django.utils.timezone import utc
  3.  
  4. now = datetime.datetime.utcnow().replace(tzinfo=utc)


Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 30/12/2013, 21:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Time Zone en Django.

creo que es un bug que tiene django con los timezones creo que cuando uno habilita usar el time zone no toma el time zone correcto se vuelve como loco
  #6 (permalink)  
Antiguo 07/01/2014, 12:35
Avatar de stormearth  
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 10 años, 6 meses
Puntos: 2
Respuesta: Time Zone en Django.

Hola Carlangueitor, gracias por tu respuesta pero no me funciona, ¿dónde se supone que debo colocar ese código?. La verdad no encuentro la parte de la documentación que tiene ese código. Estoy usando django 1.6.

usando el código que me sugieres me da la misma hora en el manage.py shell, la de Greenwich.


Código:
>>> now = datetime.utcnow().replace(tzinfo=utc)
>>> now
datetime.datetime(2014, 1, 7, 18, 23, 32, 344144, tzinfo=<UTC>)

>>> now2 = datetime.today()
>>> now2
datetime.datetime(2014, 1, 7, 18, 32, 52, 304498)
La documentación me parece un poco confusa al respecto. ¿Hay una manera de cambiar el default timezone de django en settings?
  #7 (permalink)  
Antiguo 07/01/2014, 12:37
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Time Zone en Django.

Pues usalo en donde necesites obtener una fecha. Claro que se puede definir en el settings, pero de igual manera tienes que hacerlo igual.


Saludos
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 07/01/2014, 13:12
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Time Zone en Django.

Si, si hay.

https://docs.djangoproject.com/en/de...ngs/#time-zone
  #9 (permalink)  
Antiguo 11/01/2014, 16:19
Avatar de stormearth  
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 10 años, 6 meses
Puntos: 2
Respuesta: Time Zone en Django.

La verdad no está claro en los docs como configurar la hora de django. Si me pudieras ayudar con algo de codigo te agradeceria.. Ya he leído ese link varias veces.
  #10 (permalink)  
Antiguo 11/01/2014, 18:02
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Time Zone en Django.

????

Pero si esta mas que claro. Por ejemplo para la ciudad de México.

En tu settings.py
Código Python:
Ver original
  1. TIME_ZONE = 'America/Mexico_City'

Etiquetas: django, settings
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.