Alessio Luffarelli - Sito Web
Sei qui: Guide e Tutorial / Web / Formattare date in PHP
Funzione per formattare date in PHP

Questa funzione prende in ingresso una data nel formato standard di MySQL o altri database (in generale un formato di data inglese) e restituisce una stringa in italiano di questo tipo: "Giorno-della-settimana, G Mese AAAA HH:MM", come nell'esempio a fondo pagina.

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;
}

Se ad esempio diamo in ingresso a questa funzione la data SQL "2005-11-03 00:17:56", verrà restituita la stringa in lingua italiana "Mercoledì, 3 Novembre 2005 - 00:17".

(C) Alessio Luffarelli