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(000$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]";

?>