Vous devez c jour ompare avec le jour, SECONDES comparaison sont tout à fait tort:
Si nous sommes aujourd'hui matin, cela veut dire hier soir est aujourd'hui (par moins 24h) ^^
Voici une méthode que j'utilise pour Kinoulink (une startup française) :
public function formatDateAgo($value)
{
$time = strtotime($value);
$d = new \DateTime($value);
$weekDays = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'];
$months = ['Janvier', 'Février', 'Mars', 'Avril',' Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'];
if ($time > strtotime('-2 minutes'))
{
return 'Il y a quelques secondes';
}
elseif ($time > strtotime('-30 minutes'))
{
return 'Il y a ' . floor((strtotime('now') - $time)/60) . ' min';
}
elseif ($time > strtotime('today'))
{
return $d->format('G:i');
}
elseif ($time > strtotime('yesterday'))
{
return 'Hier, ' . $d->format('G:i');
}
elseif ($time > strtotime('this week'))
{
return $weekDays[$d->format('N') - 1] . ', ' . $d->format('G:i');
}
else
{
return $d->format('j') . ' ' . $months[$d->format('n') - 1] . ', ' . $d->format('G:i');
}
}
Avez-vous du code que vous avez écrit jusqu'à présent? –
Pouvez-vous s'il vous plaît essayer d'être plus précis? Je n'ai pas compris ce que tu veux dire par hier et aujourd'hui ... franchement ;-) – maraspin
C'est demain que tu dois t'inquiéter, pas hier ou aujourd'hui, débarrasser toutes ces toiles d'araignées et le chagrin, sachant juste que c'est un jour et tout cette. –