Pour convertir une date au format datetime
, en un délai passé, en PHP, vous pouvez utiliser la fonction suivante :
<?php
function delai($date)
{
$maintenant = new DateTime;
$delai = new DateTime($date);
$diff = $maintenant->diff($delai);
$diff->w = floor($diff->d / 7);
$diff->d -= $diff->w * 7;
$string = array(
'y' => 'an',
'm' => 'mois',
'w' => 'semaine',
'd' => 'jour',
'h' => 'heure',
'i' => 'minute',
's' => 'seconde',
);
foreach ($string as $cle => &$data)
{
if ($diff->$cle)
{
$data = $diff->$cle . ' ' . $data . ((($diff->$cle > 1) && ($cle !='m')) ? 's' : '');
}
else
{
unset($string[$cle]);
}
}
return 'Il y a ' . implode(', ', $string);
}
echo delai('2018-08-01 00:10:44');
?>