
Originariamente inviata da
luca200
Ma sì, reinventiamo la ruota.
E coi bisestili come la mettiamo?
Eccoti accontentato ciccino
Codice PHP:
$data = '03/10/2014';
$turni = array('sera','pomeriggio','Mattina','Notte','Riposo');
$n_g_mesi = array(1=>31,28,31,30,31,30,31,31,30,31,30,31);
list($gg,$mm,$aa) = explode('/', $data);
$gg = (int)$gg;
$mm = (int)$mm;
$n_g_q_mese = $n_g_mesi[$mm];
$numero_turni = 10;
$n = count($turni);
for($i=0; $i<$numero_turni; $i++){
echo $data.' '.$turni[$i%$n]."<br />\n";
$gg = $gg%$n_g_q_mese+1;
if($gg==1){
$mm = $mm%12+1;
if($mm==3 && $aa%4==0 && $n_g_q_mese==28){ // se l'anno è bisestile
$mm = 2;
$gg = $n_g_q_mese = 29;
}else{
$n_g_q_mese = $n_g_mesi[$mm];
if($mm==1)
$aa++;
}
}
$data = str_pad($gg,2,'0',STR_PAD_LEFT).'/'.str_pad($mm,2,'0',STR_PAD_LEFT).'/'.$aa;
}

...e poi questo script funzionerà perfettamente anche dopo il 2038