Foros del Web » Programando para Internet » PHP »

Diferencia de Horarios

Estas en el tema de Diferencia de Horarios en el foro de PHP en Foros del Web. Estoy haciendo un sistema de reservaciones (taxis) en linea, y ahora que estoy casi por terminar, me he dado cuenta que el servidor maneja una ...
  #1 (permalink)  
Antiguo 30/04/2003, 13:33
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pregunta Diferencia de Horarios

Estoy haciendo un sistema de reservaciones (taxis) en linea, y ahora que estoy casi por terminar, me he dado cuenta que el servidor maneja una zona horaria diferente a la de donde va a ser USADA la aplicación.

Alguien tiene una idea de como debo solucionar esto? incluyendo los cambios de horario (DST)...

He pensado en varias posibilidades:

a) Guardar todo en la BD con una hora más
b) Guardar todo "normal" en la bd y mostrarlo "disfrazado" en la pagina.

El problema es que tambien voy a generar notificaciones basadas en las horas de las reservaciones...

Alguien puede orientarme? Cual es la mejor manera de lidiar con este tipo de DIFERENCIAS?

GRACIAS!
__________________
Manoloweb
  #2 (permalink)  
Antiguo 30/04/2003, 14:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo ideal sería que te guardases la hora en formato GMT tomando como referencia GMT 0 .. a partír de ahí te haces los ajustes horarios dependiendo del pais que tenga que mostrar esos datos.

Fijate en este mensaje:
http://www.forosdelweb.com/showthrea...hreadid=119333

Hice una funcioncita para presentar horas en formato GMT de su respectiva diferencia horaria.

Se trata de usar las funciones de fecha/hora gmXXXXX() ..
gmmktime(), gmdate() .. etc ...

Si usas Mysql y funciones como NOW() para ingresar la hora actual directamente en tu BD .. mm tendrías que mirar si hay equivalente a hora GMT en Mysql y sino, generar la hora actual via funciones gmdate("formato campo DATE o DATETIME que tengas") ...

A todo esto .. si guardas las fechas en horário GMT 0 sería lo ideal .. pues así todos se hacen sus ajustes en realición a es standar de hora +diferencia horaria franja .. o -difrencia horaria franja ...

En tu BD .. si usas funciones para calcular rangos de fechas y demas .. no te preocupes. La fecha que presntarias ya sabes que sería en relación a GMT 0 así q solo usa esas funciones gmmktime() y gmdate() para darle el formato .. (el DATE_FORMAT() .. podría ser tambien . pero antes deberias impletar la diferencia horaria para tu DATETIME) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/04/2003, 16:04
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Muy buena idea Cluster!

Voy a ver el link que me pones, y luego te platico como me ha ido.

__________________
Manoloweb
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 17:40.