Dando una fecha de inicio, estoy agregando cuatro veces siete días para obtener 5 fechas diferentes separadas exactamente una semana cada una.Agregando días a una marca de tiempo
//$date = '28-10-2010';
$timestamp = mktime(0, 0, 0, 10, 01, 2010);
echo "Date=".date('d-m-Y', $timestamp)."<br>";
$timestamp += (60*60*24*7);
echo "Date=".date('d-m-Y', $timestamp)."<br>";
$timestamp += (60*60*24*7);
echo "Date=".date('d-m-Y', $timestamp)."<br>";
$timestamp += (60*60*24*7);
echo "Date=".date('d-m-Y', $timestamp)."<br>";
$timestamp += (60*60*24*7);
echo "Date=".date('d-m-Y', $timestamp)."<br>";
Las salidas de código de esto:
Date=01-10-2010 Friday
Date=08-10-2010 Friday
Date=15-10-2010 Friday
Date=22-10-2010 Friday
Date=29-10-2010 Friday
¿Qué tanto tiempo como yo sé que es correcta. Pero, vea lo que sucede cuando pasa por el 2010-10-31 y 2010-11-01
$ timestamp = mktime (0, 0, 0, 10, 28, 2010); [...]
Curiosamente Muestra esto:
Date=28-10-2010 Thursday
Date=03-11-2010 Wednesday
Date=10-11-2010 Wednesday
Date=17-11-2010 Wednesday
Date=24-11-2010 Wednesday
¿Qué está pasando? La segunda fecha debe ser 04-11-2010! ¡También, vi que este "error" ocurre cada diez años! ¿Esto está relacionado con el horario de verano? Si es así, ¿cómo lo resuelvo? ¿Hay algo que esté pasando por alto?
Editar: Ok, outputed el momento, sólo para ver lo que sucede y esto es lo que tengo ahora:
Date=28-10-2010 Thursday :: 00:00:00
Date=03-11-2010 Wednesday :: 23:00:00
Date=10-11-2010 Wednesday :: 23:00:00
Date=17-11-2010 Wednesday :: 23:00:00
Date=24-11-2010 Wednesday :: 23:00:00
parece algo relacionado con el tiempo, algo que sucede en 31/11/2010 ...
¿Su solución funcionará en todo el mundo? –