Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2015, 06:54
Avatar de sergio17791
sergio17791
 
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 21
Antigüedad: 8 años, 5 meses
Puntos: 1
DateTime me cambia las horas!

Buenas a todos!

Estoy trabajando con la clase DateTime y tengo un problema que no entiendo... Cuando la hora se encuentra entre las 02:00:00 y las 2:59:00, ¡Le suma una hora! Yo se lo achaco al cambio de hora que se realiza de invierno a verano y viceversa...

Tengo un .dat del que leo muchas líneas, cada línea los dos primeros datos son hora y fecha, y tengo que comparar que la diferencia entre la fecha y hora de cada línea es de diez minutos, entonces cuando me cambia la hora, me da error, ya que deja de ser 10 minutos la diferencia, aunque las horas en el fichero están bien...

Me he dado cuenta intentando probar otra forma de hacerlo. Tengo el siguiente código:
Código PHP:
       date_default_timezone_set('Europe/Madrid');
       
       
$fecha_inf "2012-03-25";
       
$hora_inf "02:50:00";
       
$fecha_total_inf $fecha_inf." ".$hora_inf;
       echo 
"Horas inferiores: </br>$fecha_total_inf</br>";
      
       
$date_inf date_create($fecha_total_inf);
       
$date_inf_format date_format($date_inf,'Y-m-d H:i:s');
       echo 
$date_inf_format."</br>";
       
       
       
$fecha_sup "2012-03-25";
       
$hora_sup "03:00:00";
       
$fecha_total_sup $fecha_sup." ".$hora_sup;
       echo 
"Horas superiores: </br>$fecha_total_sup</br>";
       
       
$date_sup date_create($fecha_total_sup);
       
$date_sup_format date_format($date_sup,'Y-m-d H:i:s');
       echo 
$date_sup_format."</br>";
       
       
       echo 
"</br>Resta strtotime: ".(strtotime($fecha_total_sup) - strtotime($fecha_total_inf)); 
Y lo que me saca por pantalla es esto:

Cita:
Horas inferiores:
2012-03-25 02:50:00
2012-03-25 03:50:00
Horas superiores:
2012-03-25 03:00:00
2012-03-25 03:00:00

Resta strtotime: -3000
¿Alguien sabe como evitar esto y que deje de cambiarme la hora?

Gracias a todos!