一分钟之内发布的,显示“刚刚”
一小时之内发布的,显示“XX分钟前”
一个月之内发布的,显示“XX天前”
一个月外的直接显示日期。
代码收藏:
//发表于几分钟前 function kele_time_since($older_date, $newer_date = false) { $chunks = array( array(60 * 60 * 24 * 365 , '年'), array(60 * 60 * 24 * 30 , '月'), //array(60 * 60 * 24 * 7, '周'), array(60 * 60 * 24 , '天'), array(60 * 60 , '小时'), array(60 , '分钟'), ); // www.jbxue.com $newer_date = ($newer_date == false) ? (time()+(60*60*get_settings("gmt_offset"))) : $newer_date; $since = $newer_date - abs(strtotime($older_date)); //根据自己的需要调整时间段,下面的24则表示小时,根据需要调整吧 $chunks_count=count($chunks); if($since < 60 * 60 * 24*30){ for ($i = 0, $j = $chunks_count; $i < $j; $i++){ $seconds = $chunks[$i][0]; $name = $chunks[$i][1]; if (($count = floor($since / $seconds)) != 0){ break; } } $out = ($count == 1) ? '1'.$name : "$count{$name}"; if(0==$count){ return "刚刚"; } return $out."前"; }else{ the_time(get_option('date_format')); } }