Ho impementato una funzione che date due date mi calcola tutte le date intermedie.
Quindi data la prima data e la seconda estraggo i giorni me se ed anno di queste con:
list($anno_i,$mese_i,$giorno_i) = explode('-',$data_inizio);
list($anno_f,$mese_f,$giorno_f) = explode('-',$data_fine);
e sulla loro base recupero di ognuna lo unix timestamp:
$timestamp_inizio = mktime ( 0, 0, 0, $mese_i, $giorno_i, $anno_i);
$timestamp_fine = mktime ( 0, 0, 0, $mese_f, $giorno_f, $anno_f);
Fatto aanche questo sapendo che un gionro è pari a $day = 60*60*24;
scrivo il seguente codice:
$timestamp_temp = $timestamp_inizio;
while ($timestamp_fine - $timestamp_temp >= 0){
$nuova_data = date("Y-m-d",$timestamp_temp);
$mese = strftime ("%B %Y", $timestamp_temp);
$array_date[$mese][] = $nuova_data;
$timestamp_temp += $day;
}
Ossia sommo alla data iniziale 1 giorno e metto il tutto in un array bidimensionale con le date dei vari mesi separate.
La cosa anomala è quando le due date sono a cavallo dei mesi di ottobre e novembre.Il bello è che la data del 31 Ottobre mi compare due volteVVoVe:
Sarà per caso il cambiamento di orario che altera il processo?
E se è questo, come posso porvi rimedio?
Grazie per la risposta.