Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2013, 18:15
omdsetenta
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Problemas con la fecha: cambio de horario

Hola. En mi web el usuario hace un registro y una consulta de los datos (trabajo con MySQL). Si el registro se realiza en el mismo día, los datos se actualizan, mientras que si el registro de datos se realiza al día siguiente, los datos se insertan, es decir, que depende si es el mismo día o no para que se actualicen (con update) los datos o se inserten (con insert), ya que el usuario necesita llevar un registro diario de variables.
Para terminar con las palabras:
Cita:
$contar = "SELECT count(*) AS Total FROM usuarios WHERE ip = '".$realip."' and fecha = '".$fecha."'";
En la consulta anterior, busco los registros que tienen la misma ip que el usuario y de la fecha de hoy. Si no hay registros en la base de datos, inserta, si hay registros, actualiza.
El tema es (después de tanto palabrerío) es que la fecha no cambia a las 0 hs, sino que cambia a las 21 hs en argentina (esto es, en argentina somos -3GMT). Por lo tanto, la fecha está calculada para grenwich (0 GMT) y no para argentina.
Yo usé el siguiente script para que me insertara en la base de datos la fecha y la hora en argentina:

Cita:
$fecha=time();
$movhoras = -3;
$fecha = $fecha+($movhoras * 60 * 60);
$fecha = date("Y-m-d H:i:s", $fecha );
Que imprime correctamente la fecha y hora actual en argentina. Pero aún así, a las 21:02 hs me cambió el día, aún cuando en la base de datos tenía la fecha y hora de argentina. Me di cuenta que me cambio el día, porque me "limpiaba" los datos del dia anterior y tenía que ingresar nuevos datos.
Así que ¿Qué podría hacer para que el día me lo cambie a las 0 hs argentina y no a las 21 hs argentina?
Mi localhost es WampServer Version 2.0