Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Fecha calculada en PHP o en MySql

Estas en el tema de Fecha calculada en PHP o en MySql en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos días a todos, Acudo a la comunidad con una pregunta, que si está mal ubicada, espero que el moderador me ayude trasladándola. Cuando mi ...
  #1 (permalink)  
Antiguo 17/11/2007, 10:49
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Fecha calculada en PHP o en MySql

Buenos días a todos,

Acudo a la comunidad con una pregunta, que si está mal ubicada, espero que el moderador me ayude trasladándola.

Cuando mi aplicación va a almacenar la una fecha en base de datos, tengo varias opciones, o más bien 2. Necesito que lo que se almacene es la fecha en que el registro se almacena, entonces una forma es utilizando la funcion de la fecha actual que me provee Mysql ---> FROM_UNIXTIME(UNIX_TIMESTAMP()+(3600*5),'%Y-%m-%d')

Utilizo un cálculo sobre el TIMESTAMP porque resulta que cuando me muevo de hosting, cambia la hora local entonces me evito el problema de volver a mi código para realizar modificaciones que implican correr de nuevo los procedimientos de prueba.

Otra alternativa, es calcular la fecha con PHP y enviarla para que se almacene en base de datos. Me he encontrado en situaciones en las que mi proveedor de hosting, tiene la base de datos en un lugar geográfico diferente al lugar donde reside el servidor web donde esta el PHP. Por lo tanto existe diferencia horaria.

La pregunta es entonces:
Cual es la mejor manera de calcular fecha y hora actual en una aplicación web??
Utilizando la funcion nativa del Mysql o calculándola en PHP para enviarla a la BD.

A lo mejor esto no pertenece a la sección de POO de PHP, pero cualquier solución planteada necesito que se base en principios modernos de arquitectura.

Mil gracias a todos.
__________________
Desdichado quien duerme en la mañana
  #2 (permalink)  
Antiguo 17/11/2007, 12:05
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años, 1 mes
Puntos: 5
Re: Fecha calculada en PHP o en MySql

yo utilizaria la funcion now() de mysql para eso.

Si por ejemplo crees que la aplicacion puede moverse puedes insertar NOW() + $vartime, donde vartime es la diferencia horaria entre el servidor de BD y la hora deseada.

Si mueves la DB solo tendras que revisar dicho valr
  #3 (permalink)  
Antiguo 17/11/2007, 12:13
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Re: Fecha calculada en PHP o en MySql

Cita:
Iniciado por ikarush Ver Mensaje
yo utilizaria la funcion now() de mysql para eso.

Si por ejemplo crees que la aplicacion puede moverse puedes insertar NOW() + $vartime, donde vartime es la diferencia horaria entre el servidor de BD y la hora deseada.

Si mueves la DB solo tendras que revisar dicho valr
Hola ikarush, para no tener que estar mirando $vartime, cuando haya un movimiento, utilizo el unixtimestamp con el cual simpre voy a obtener la fecha y hora correcta asi mueva el servidor de USA a Japon.

Gracias por tu aporte. La idea es decidir si la manera adecuada es utilizando funciones del motor o del interprete PHP. Me gustaría saber que es lo que utilizan los frameworks como Cake, Zend y Symphony para manejar estas situaciones.
__________________
Desdichado quien duerme en la mañana
  #4 (permalink)  
Antiguo 17/11/2007, 14:28
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años, 1 mes
Puntos: 5
Re: Fecha calculada en PHP o en MySql

Yo creo que es mas eficaz siempre usar el sistema de bases de datos que php, para hacer eso.

Motivo : php corre a mas alto nivel (es decir sobre mas capas de programas), que la base de datos.

Sobre lo de $vartime, tanto mueves la aplicacion de servidor, como para que no sea una solucion eficaz?
Recuerda que si vartime, estuviera mal, no desembocaria en un fallo de la aplicacion.

En fin, ya me cuentas que solucion tomas
  #5 (permalink)  
Antiguo 18/11/2007, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Fecha calculada en PHP o en MySql

Frameworks como los que mencionas, se basan en la configuración actual de PHP, es decir no importa el motor de base de datos que utilicen, usan el valor del tiempo del servidor sobre el que se esta ejecutando, así que si no quieres tener problemas puedes usar la misma formula que estas usando calculando sobre UNIX_TIMESTAMP (también lo puedes hacer desde PHP).

O usar un valor estándar como la hora GMT, así te evitas calcular sobre la hora y linea de tiempo actuales.

Saludos.
  #6 (permalink)  
Antiguo 18/11/2007, 10:17
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Re: Fecha calculada en PHP o en MySql

Gracias GatorV,

Observo una gran ventaja al utilizar la fecha calculada desde el motor, y es que cuando se utiliza la fecha desde PHP, esta es enviada a la base de datos, permitiendo en muchos casos poder injectar el valor de la variable y comprometiendo la seguridad de la aplicación. Al calcular el valor desde el motor, la fecha no tiene que ser enviada desde la aplicación hasta la DB (Una variable menos por que preocuparme al momento de filtrar).

Que piensas de esto GatorV?
__________________
Desdichado quien duerme en la mañana
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 09:07.