Le 5 mars 2014 Catégorie: News Hello à tous, vous voulez une date relative du genre 'posté il y a 5 minutes, 1 jours' et si plus d'une semaine la date est remise du genre 'posté le 22 Janvier' ? et si c'est l'année dernière la date devient 25 décembre 2013 par exemple ? //date relative function fTime($date) { // Initialisation $secondes = time() - $date; $secondes>1 ? $secondes .= ' secondes' : $secondes .= ' seconde'; $minutes = ''; $heures = ''; $jours = ''; $dateRelative = 'Il y a '. $secondes; // Début du balayage if ($secondes > 60) { // S'il y a plus d'une minute $minutes = floor($secondes/60) ; $minutes>1 ? $minutes .= ' minutes' : $minutes .= ' minute'; $secondes = floor($secondes%60) ; $secondes>1 ? $secondes .= ' secondes' : $secondes .= ' seconde'; $dateRelative = 'Il y a '. $minutes .' '; } if ($minutes > 60) { // S'il y a plus d'une heure $heures = floor($minutes/60) ; $heures>1 ? $heures .= ' heures' : $heures .= ' heure'; $minutes = floor($minutes%60) ; $minutes>1 ? $minutes .= ' minutes' : $minutes .= ' minute'; $dateRelative = 'Il y a '. $heures .''; } if ($heures > 24) { // S'il y a plus d'un jour $jours = floor($heures/24) ; $jours>1 ? $jours .= ' jours' : $jours .= ' jour'; $heures = floor($heures%24) ; $heures>1 ? $heures .= ' heures' : $heures .= ' heure'; $dateRelative = 'Il y a '. $jours .''; } if ($jours > 7) { // S'il y a plus d'une semaine, on affiche la date normale $mois = date("m",$date)-1; $calendrier = array('janvier','février','mars','avril','mai','juin','juillet','aout','septembre', 'octobre','novembre','décembre'); $jour = date("j",$date); $mois = $calendrier[$mois]; date("Y",$date) != date("Y") ? $annee = date("Y",$date) : $annee = ''; $dateRelative = 'Le '. $jour .' '. $mois .' '. $annee; } return $dateRelative; }après quand vous voulez changé la date lors d'une requête faite comme ceci : $date = ftime($date);au lieu de: $date = nkDate($date);Vous pouvez édité le fichier en question avec notepad++ par exemple ^^ Voilà si vous avez un soucis postez dans le fofo ! |