PHP Time Since
Forum type time since function.
Code:
function fb_timeSince($time){
if( $time > time() ){
$s=$time-time();
$times=array(
‘minute’ => 60,
‘hour’ => 3600,
‘day’ => (strtotime(‘+1 day’)-time()),
‘week’ => (strtotime(‘+1 week’)-time()),
‘month’ => (strtotime(‘+1 month’)-time()),
‘year’ => (strtotime(‘+1 year’)-time()),
);
}else{
$s=time()-$time;
$times=array(
‘minute’ => 60,
‘hour’ => 3600,
‘day’ => (time()-strtotime(‘-1 day’)),
‘week’ => (time()-strtotime(‘-1 week’)),
‘month’ => (time()-strtotime(‘-1 month’)),
‘year’ => (time()-strtotime(‘-1 year’)),
);
};
if( $s < $times['minute'] ){
$t=$s;
$r=$s.’ second’;
}elseif( $s < $times['hour'] ){
$t=intval($s/60);
$r=$t.’ minute’;
}elseif( $s < $times['day'] ){
$t=intval($s/3600);
$r=$t.’ hour’;
}elseif( $s < $times['week'] ){
$t=intval($s/(3600*24));
$r=$t.’ day’;
}elseif( $s < $times['month'] ){
$t=intval($s/(3600*24*7));
$r=$t.’ week’;
}elseif( $s < $times['year'] ){
$t=intval($s/(3600*24*31));
$r=$t.’ month’;
}else{
$t=intval($s/(3600*24*365.25));
if($t<1){$t=1;};
$r=$t.’ year’;
};
if( $t != 1 ){
$r.=’s';
};
if( $time > time() ){
$r.=’ until’;
}else{
$r.=’ ago’;
};
return $r;
}
Usage:
$date = strtotime(‘now -1 day’); (fb_timeSince($date);