<?php
//$data_da_db intero da date tipo timestamp, quindi $dat_da_db espresso in secondi
function diff_data($data_da_db){
	$adesso=time();//legge la data nel momento di apertura del post
	$differenza=$adesso-$data_da_db;//in secondi
	//trasformo in ore arrotondando
	$giorni=floor($differenza/(24*60*60));//giorni possono essere >=1
	if($giorni >= 1){//sono passate più di 24 ore
		$mese=array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
		//se vuoi la data che proviene dal db usa le due righe qui sotto
		$mese_int=date(n,$data_da_db)-1;//serve per l'array dei mesi in italiano
		return "scritto il ".date("d", $data_da_db)." ".$mese[$mese_int]." ".date("Y", $data_da_db)." alle ore ".date("H:i", $data_da_db);
		//altrimenti o le commenti o cancelli e decommenti le seguenti
		//$mese_int=date(n,$adesso)-1;
		//return "scritto il ".date("d", $adesso)." ".$mese[$mese_int]." ".date("Y", $adesso)." alle ore ".date("H:i", $adesso);
	}else{//le ore sono meno di 24
		$ore=floor($differenza/(60*60));
		if($ore >= 1){//le ore sono piu di una ma meno di 24
			$testo=" ore fa'";
			if($ore ==1){$testo=" ora fa'";}
			return "scritto ".$ore.$testo;//stampa ore fa'
		}else{//le ore sono meno di 1
			$minuti=floor($differenza/60);
			if ($minuti >= 1){//i minuti sono piu di uno
				$testo=" minuti fa'";
				if($minuti==1){$testo=" minuto fa'";}
				return "scritto ".$minuti.$testo;//stampa minuti fa'
			}else{//sono meno di un minuto
				$testo=" secondi fa'";
				$secondi=round($differenza);//anche se non servirebbe
				if($secondi==1){$testo=" secondo fa'";}
				return "scritto ".$secondi.$testo;//stampa secondi fa'
			}//fine if minuti
		}//fine if ore
	}//fine if giorni
}//fine function
/*
prova di funzionamento
da sostituire con quello che serve, estrazione della data dal db
*/
//
$oggi=time();//solo per valutare il tempo per prove
// scritto 5 gg 4 ore 37 min e 5 secondi fa'
$scritto=$oggi-5*(24*60*60)-4*(60*60)-37*60-5;//riga GIORNI
// scritto 4 ore 37 min e 5 secondi fa'
//$scritto=$oggi-4*(60*60)-37*60-5;//riga ORE
// scritto 37 min e 5 secondi fa'
//$scritto=$oggi-37*60-5;//riga MINUTI
// scritto  5 secondi fa'
//$scritto=$oggi-5;//riga SECONDI
echo "oggi è il ". date("d F Y H:i:s", $oggi)."<br>";
echo "il post era stato scritto il ". date("d F Y H:i:s", $scritto)."<br>";
/*
FUNZIONE PER SCRIVERE IL TEMPO PASSATO
se dif < 60 sec stampa (es.): scritto 5" fa'
se dif > 1 e < 60 min: scritto 25' fa'
se dif > 1 e < 24 ore: scritto 1 ora fa'
se diff > 24 ore stampa la data nel formato: scritto il gg mese anno alle ore H:MIN
*/
echo "<br>".diff_data($scritto)."<br>";
?>