Questo codice dovrebbe stampare data e ora in italiano

Codice PHP:
function format_date($d) {

    
$d strtotime($d);
    
$gs date("w",$d); // Giorno della settimana
    
switch ($gs) {
         case 
0:
             
$return "Domenica, ";break;
         case 
1:
             
$return "Lunedì, ";break;
         case 
2:
             
$return "Martedì, ";break;
         case 
3:
             
$return "Mercoledì, ";break;
         case 
4:
             
$return "Giovedì, ";break;
         case 
5:
             
$return "Venerdì, ";break;
         case 
6:
             
$return "Sabato, ";break;
    }
    
$g date("j",$d); // Giorno
    
$return .= $g;
    
$m date("m",$d); // Mese
    
switch ($m) {
         case 
1:
             
$return .= " Gennaio ";break;
         case 
2:
             
$return .= " Febbraio ";break;
         case 
3:
             
$return .= " Marzo ";break;
         case 
4:
             
$return .= " Aprile ";break;
         case 
5:
             
$return .= " Maggio ";break;
         case 
6:
             
$return .= " Giugno ";break;
         case 
7:
             
$return .= " Luglio ";break;
         case 
8:
             
$return .= " Agosto ";break;
         case 
9:
             
$return .= " Settembre ";break;
         case 
10:
             
$return .= " Ottobre ";break;
         case 
11:
             
$return .= " Novembre ";break;
         case 
12:
             
$return .= " Dicembre ";break;
    }
    
$a date("Y",$d); // Anno
    
$return .= $a." - ";
    
$o date("H:i",$d); // Orario
    
$return .= $o;

    return 
$return;

Lo richiamo così

Codice PHP:
echo "<div class=\"dataBox\">format_date($d)</div>"
ma mi stampa questo

format_date()