Skip to content

Instantly share code, notes, and snippets.

Created March 10, 2013 06:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/5127385 to your computer and use it in GitHub Desktop.
Save anonymous/5127385 to your computer and use it in GitHub Desktop.
php human friendly time diff
<?php
function pdate($s,$t==''){
$r = $n = '';
$na = array('1'=>'sec','2'=>'min','3'=>'hour','4'=>'day','5'=>'week','6'=>'month','7'=>'year');
$p = time()-$s;
if($p<60){
$n = 1;
$r = ceil($p/1-0.45);
}
elseif($p<3600){
$n = 2;
$r = ceil($p/60-0.45);
}
elseif($p<86400){
$n = 3;
$r = ceil($p/3600-0.45);
}
elseif($p<604800){
$n = 4;
$r = ceil($p/86400-0.45);
}
elseif($p<2592000){
$n = 5;
$r = ceil($p/604800-0.45);
}
elseif($p<31536000){
$n = 6;
$r = ceil($p/2592000-0.45);
}
else{
$n = 7;
$r = ceil((date('Y')*12-date('Y',$s)*12+date('m')-date('m',$s))/12-0.45);
}
if($r<1) $r = 1;
if($r>1) $r = $r.' '.$na[$n].'s ago';
else $r = $r.' '.$na[$n].' ago';
if($t=='html') $r = ' <span class="time" itemprop="datePublished" content="'.date('c',$s).'" title="'.date('c',$s).'">'.$r.'</span>';
else $r = ' <span class="time" title="'.date('c',$s).'">'.$r.'</span>';
return $r;
}
echo pdate(date()-3526);
echo pdate(date-12345, 'html');
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment