Per windows il set locale dovrebbe essere:
setlocale(LC_ALL, 'ita_ITA');
invece di:
setlocale(LC_ALL, 'it_IT');
Conviene farsi una funzione di conversione nomi e non servono ne if ne switch. Basta un array dove l'indice e' il mese numerico ed il valore il mese scritto il italiano. Idem per i giorni della settimana.
![]()