Cette fonction permet de transformer un timestamp en chaine plus sympathique du type "Il y a 10 minutes", ou "Il y a 2 heures"... Un affichage similaire est utilisé sur facebook.
Le code :
<?php
function wall_date($time){
$diff = (time() - $time);
$minute = round($diff / 60);
if($minute < 1){
return '<lang>Il y a quelques secondes</lang>';
}
if($minute < 60){
if($minute>1)$step='<lang>minutes</lang>';
else $step='<lang>minute</lang>';
return '<lang>Il y a</lang> '.$minute.' '.$step.' <lang>ago</lang>';
}
$heures = round($diff / (60*60));
if($heures < 24){
if($heures>1)$step='<lang>heures</lang>';
else $step='<lang>heure</lang>';
return '<lang>Il y a</lang> '.$heures.' '.$step.' <lang>ago</lang>';
}
$jours = round($diff / (60*60*24));
if($jours < 7){
if($jours>1)$step='<lang>jours</lang>';
else $step='<lang>jour</lang>';
return '<lang>Il y a</lang> '.$jours.' '.$step.' <lang>ago</lang>';
}
if(date('Y', $time) != date('Y', time()))$year = date('Y', $time);
return '<lang>Le</lang> '.date('d', $time).' <lang>'.date('F', $time).'</lang> '.$year;
}
?>
Utilisation :
$str = wall_date($timestamp);
$timestamp est une valeur obtenue via la fonction time() notamment.
Vous trouverez le fichier wall_date.php dans l'archive zip jointe.










Twitter cet article
Deeler cet article
Poster sur Facebook
Votez sur wikio !
Pour ne manquer aucun article, abonnez-vous !