Last active
March 7, 2017 20:50
-
-
Save PauliusKrutkis/a10eff9ffe4bbd47b7cde5b8c79d32ac to your computer and use it in GitHub Desktop.
Time ago script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// usage: echo timeAgo(get_the_time('U')); | |
function timeAgo($time) | |
{ | |
$out = ''; | |
$now = time(); | |
$diff = $now - $time; | |
if ($diff < 60) | |
return 'Published today'; | |
elseif ($diff < 3600) | |
return sprintf( | |
"Published %s %s", | |
$out = round($diff / 60), | |
$out == 1 ? 'minute ago' : 'minutes ago' | |
); | |
elseif ($diff < 3600 * 24) | |
return sprintf( | |
"Published %s %s", | |
$out = round($diff / 3600), | |
$out == 1 ? 'hour ago' : 'hours ago' | |
); | |
elseif ($diff < 3600 * 24 * 2) | |
return 'Published yesterday'; | |
elseif ($diff < 3600 * 24 * 7) | |
return sprintf( | |
"Published %s %s", | |
$out = round($diff / (3600 * 24)), | |
'days ago' | |
); | |
elseif ($diff < 3600 * 24 * 7 * 4) | |
return sprintf( | |
"Published %s %s", | |
$out = round($diff / (3600 * 24 * 7)), | |
$out == 1 ? 'week ago' : 'weeks ago' | |
); | |
elseif ($diff < 3600 * 24 * 7 * 4 * 12) | |
return sprintf( | |
"Published %s %s", | |
$out = round($diff / (3600 * 24 * 7 * 4)), | |
$out == 1 ? 'month ago' : 'months ago' | |
); | |
else | |
return sprintf("Published %s", date('Y m d', $time)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment