si può si può...
ti ho fatto un piccolo script che va ottimizzato con qualche controllo tipo sulle date di input.
Premessa. Lo script Calcola i giorni lavorativi togliendo i sabati e le domeniche dal periodo analizzato.. se devi inserire delle giornate di festa tipo natale pasqua etc.. , basta che le salvi in un array e fai i relativi controlli..
ecco il codice:
Codice PHP:
<?php
# Funzione per isolare anno,mese,giorno
function esplodiData($data)
{
$ris=explode("/",$data);
$data=array($ris[2],$ris[1],$ris[0]);
return $data;
}
# Date di origine.
# Periodo di analisi - Le date si modificano qui o tramite form
$origine1="1/4/2008";
$origine2="25/7/2008";
# Esplodo la data di partenza inserendola in un array in modo da avere anno,mese e giorno separati, che vengono
# Utilizzati successivamente nel ciclo for.
$data_start=esplodiData($origine1);
$data_stop=esplodiData($origine2);
# Calcolo Differenza in giorni tra le due date
# Manca un controllo per vedere che la data di inizio sia piu grande di quella di fine
$tmp2=$data_stop[0]."/".$data_stop[1]."/".$data_stop[2];
$tmp1=$data_start[0]."/".$data_start[1]."/".$data_start[2];
$differenza_giorni=(strtotime($tmp2) - strtotime($tmp1))/(86400);
# Contattore Giorni Festivi
$festivi=0;
# Ciclo for per scandagliare i giorni tra le due date e contare i giorni festivi ovvero SABATO E DOMENICA
for($i=1;$i<$differenza_giorni;$i++)
{
# Trovo il nome del giorno abbreviato su una precisa data presente nell'intervallo di tempo tra le due date fornite.
$custom_date = date("D" ,mktime(0, 0, 0, $data_start[1], $data_start[2] + $i, $data_start[0]));
# Controllo che il giorno sia sabato o domenica. Se è vero incrementa il contattore festivi di uno.
if(($custom_date=="Sat") or ($custom_date=="Sun"))
{
$festivi++;
}
}
# Trovo i giorni lavorativi effettivi
echo "[b]Giorni Lavorativi:[/b] ".($differenza_giorni-$festivi);
echo "
";
echo "[b]Giorni Festivi:[/b] ".$festivi;
echo "
";
echo "E' stato Analizzato un periodo totale di [b]".$differenza_giorni."[/b] giorni, all'interno del periodo di tempo che va da [b]$origine1[/b] a [b]$origine2[/b]";
?>