Codice PHP:
/*Ricaviamo tutte le informazioni riguardanti date e orario*/
function formatdate($timestamp) {
(isset($timestamp)) ? $time = $timestamp : $time = time();
$hour = date('H.i:s' , $time);
$mesi = array(1=>'Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic');
list($sett,$giorno,$mese,$anno) = explode('-',date('w-j-n-Y' , $time));
$date = $giorno .'-'. $mesi[$mese] .'-'. $anno .'  '. $hour .' <span>| ';
//timestamp per determinare quanto tempo fa e stata caricate l'immagine
$timelapse = time() - $timestamp;
switch ($timelapse) {
case ($timelapse < 60): $date .= '1 minuto fa';
break;
case (($timelapse >= 60) && ($timelapse < 3600)): $date .= ceil($timelapse / 60) .' minuti fa';
break;
case (($timelapse >= 3600) && ($timelapse < 86400)): $date .= ceil($timelapse / 3600) .' ora(e) fa';
break;
case (($timelapse >= 86400) && ($timelapse < 172800)): $date .= 'ieri';
break;
case (($timelapse >= 172800) && ($timelapse < 864000)): $date .= ceil($timelapse / 86400) .' giorni fa';
break;
case (($timelapse >= 864000) && ($timelapse < 3024000)): $date .= ceil($timelapse / 604800) .' settimane fa';
break;
case (($timelapse >= 3024000) && ($timelapse < 47336400)): $date .= ceil($timelapse / 2629800) .' mesi fa';
break;
case (($timelapse >= 47336400) && ($timelapse < 63115200)): $date .= '2 anni fa';
break;
case ($timelapse >= 63115200):
($timelapse % 31557600 < 15778800) ? $modulus = '' : $modulus = 'e mezzo ';
$date .= 'più di '. floor($timelapse / 31557600) .' anni '. $modulus .'fa';
break;
}
$date .='</span>';
return $date;
}
Cio che appare è:
1-Gen-1970 01.33:32 | più di 42 anni fa
Come mai? Come risolvere?