Home > Article > Backend Development > PHP function usage example to calculate the time before a given time_PHP tutorial
Given a time here, calculate how long ago this time was, for example: 2 days ago, 1 year ago
4 11 12 |
<๐>function prettyDate($date){<๐>
<๐>$time = strtotime($date);<๐>
<๐>$now = time();<๐>
<๐>$ago = $now - $time;<๐>
<๐>if($ago < 60){<๐>
<๐>$when = round($ago);<๐>
<๐>$s = ($when == 1)?"second":"seconds";<๐>
<๐>return "$when $s ago";<๐>
<๐>}elseif($ago < 3600){<๐>
<๐>$when = round($ago / 60);<๐>
<๐>$m = ($when == 1)?"minute":"minutes";<๐>
<๐>return "$when $m ago";<๐>
<๐>}elseif($ago >= 3600 && $ago < 86400){<๐>
<๐>$when = round($ago / 60 / 60);<๐>
<๐>$h = ($when == 1)?"hour":"hours";<๐>
<๐>return "$when $h ago";<๐>
<๐>}elseif($ago >= 86400 && $ago < 2629743.83){<๐>
<๐>$when = round($ago / 60 / 60 / 24);<๐>
<๐>$d = ($when == 1)?"day":"days";<๐>
<๐>return "$when $d ago";<๐>
<๐>}elseif($ago >= 2629743.83 && $ago < 31556926){
$when = round($ago / 60 / 60 / 24 / 30.4375);
$m = ($when == 1)?"month":"months";
return "$when $m ago";
}else{
$when = round($ago / 60 / 60 / 24 / 365);
$y = ($when == 1)?"year":"years";
return "$when $y ago";
}
}
echo prettyDate("2012-07-22 12:23:45")." "; echo prettyDate("2010-11-12 22:25:45")." "; echo prettyDate("2012-01-01 01:00:00")." "; echo prettyDate("2001-05-30 00:00:00")." "; |