{ Snipperize }
PHP Contextual Dates
PHP Contextual Dates Add to Favorite
<?php
function contextualTime($small_ts, $large_ts=false) {
if(!$large_ts) $large_ts = time();
$n = $large_ts - $small_ts;
if($n <= 1) return 'less than 1 second ago';
if($n < (60)) return $n . ' seconds ago';
if($n < (60*60)) { $minutes = round($n/60); return 'about ' . $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' ago'; }
if($n < (60*60*16)) { $hours = round($n/(60*60)); return 'about ' . $hours . ' hour' . ($hours > 1 ? 's' : '') . ' ago'; }
if($n < (time() - strtotime('yesterday'))) return 'yesterday';
if($n < (60*60*24)) { $hours = round($n/(60*60)); return 'about ' . $hours . ' hour' . ($hours > 1 ? 's' : '') . ' ago'; }
if($n < (60*60*24*6.5)) return 'about ' . round($n/(60*60*24)) . ' days ago';
if($n < (time() - strtotime('last week'))) return 'last week';
if(round($n/(60*60*24*7)) == 1) return 'about a week ago';
if($n < (60*60*24*7*3.5)) return 'about ' . round($n/(60*60*24*7)) . ' weeks ago';
if($n < (time() - strtotime('last month'))) return 'last month';
if(round($n/(60*60*24*7*4)) == 1) return 'about a month ago';
if($n < (60*60*24*7*4*11.5)) return 'about ' . round($n/(60*60*24*7*4)) . ' months ago';
if($n < (time() - strtotime('last year'))) return 'last year';
if(round($n/(60*60*24*7*52)) == 1) return 'about a year ago';
if($n >= (60*60*24*7*4*12)) return 'about ' . round($n/(60*60*24*7*52)) . ' years ago';
return false;
}
?>
friendly contextual dates
Created by ThePeppersStudio (43 days, 7.30 hours ago)
Do you want to leave a message? Please login first.

