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));
Cita:
¿Alguien sabe como evitar esto y que deje de cambiarme la hora?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
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
Gracias a todos!