diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index eeaa83b3c2893c4377f075e48ce6cf3ce00b9f56..883930d5530bdf02ee6a8156d43851cca0afbefb 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -335,6 +335,47 @@ function recup_date($numdate){
 }
 
 
+function date_relative($date) {
+	
+	$decal = date("U") - date("U", strtotime($date));
+	
+	if ($decal < 0) {
+		$il_y_a = _T("date_dans");
+		$decal = -1 * $decal;
+	} else {
+		$il_y_a = _T("date_il_y_a");
+	}
+	
+	if ($decal < 3600) {
+		$minutes = ceil($decal / 60);
+		$retour = "$il_y_a $minutes "._T("date_minutes"); 
+	}
+	else if ($decal < (3600 * 24) ) {
+		$heures = ceil ($decal / 3600);
+		$retour = "$il_y_a $heures "._T("date_heures"); 
+	}
+	else if ($decal < (3600 * 24 * 7)) {
+		$jours = ceil ($decal / (3600 * 24));
+		$retour = "$il_y_a $jours "._T("date_jours"); 
+	}
+	else if ($decal < (3600 * 24 * 7 * 4)) {
+		$semaines = ceil ($decal / (3600 * 24 * 7));
+		$retour = "$il_y_a $semaines "._T("date_semaines"); 
+	}
+	else if ($decal < (3600 * 24 * 30 * 6)) {
+		$mois = ceil ($decal / (3600 * 24 * 30));
+		$retour = "$il_y_a $mois "._T("date_mois"); 
+	}
+	else {
+		$retour = affdate_court($date);
+	}
+
+
+
+	return $retour;
+}
+
+
 function affdate_base($numdate, $vue) { 
 	global $spip_lang;
 	$date_array = recup_date($numdate);