I just now wrote function for check two date difference and display in needed format. I user many if-else operations. Can be shorted my code? Can be used here ternary operations instead of if-else?
$date1 = '2018-04-30 10:36:29';
$date2 = '2018-04-30 10:35:29';
echo dateDiff($date1, $date2);
function dateDiff($date1, $date2)
{
$date_1 = new DateTime($date1);
$date_2 = new DateTime($date2);
$diff = $date_1->diff($date_2);
if($diff->days > 365){
return $date_1->format('Y-m-d');
}
elseif($diff->days < 366 AND $diff->days > 7){
return $date_1->format('M d');
}
elseif($diff->days > 2 AND $diff->days < 8){
return $date_1->format('L - H:i');
}
elseif($diff->days == 2) return "Yesterday ".$date_1->format('H:i');
elseif($diff->days < 2 AND $diff->days > 0 OR $diff->days == 0 AND $diff->h > 1) return $date_1->format('H:i');
elseif($diff->days == 0 AND $diff->h < 1 AND $diff->i >= 1) return $diff->i." min ago";
elseif($diff->days == 0 AND $diff->h < 1 AND $diff->i < 1) return "just now";
else return $error = "Error!";
}
Aucun commentaire:
Enregistrer un commentaire