Non c'è bisogno di usare setlocale. Basta che ti crei un array e recuperi il numero del giorno compreso tra 0 (Domenica) e 6 (Sabato)
Codice PHP:
function giorno($data) {
$giorni = array('Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato');
return $giorni[date('w',strtotime($data))];
}
// richiami la funzione passando la data nel formato aaaa-mm-gg
echo giorno('2007-11-08');
Partendo da questa funzioncina puoi ovviamente migliorarla per mostrare magari anche il mese in formato letterale o ciò che preferisci.