您的位置:首页 > 编程语言 > PHP开发

格式化日期,刚刚,几秒前,几分钟前,几小时前.....

2016-07-25 12:30 537 查看
<pre name="code" class="php"><?
/**
* 格式化日期
*
* @param  $unix_time
*/
function format_date($unix_time) {
$cur_time = time();
$time = $cur_time - $unix_time;
$y = date('Y', $cur_time);
$m = date('m', $cur_time);
$d = date('d', $cur_time);

// 今天开始时间与结束时间
$today_start_time = mktime(0, 0, 0, $m, $d, $y);
$today_end_time = mktime(23, 59, 59, $m, $d, $y);

if ($m == 1 && $d == 1) {
$y_m = 12;
$y_y = $y - 1;
$y_d = cal_days_in_month(CAL_GREGORIAN, $y_m, $y_y);
} elseif ($d == 1 && $m > 1) {
$y_m = $m - 1;
$y_y = $y;
$y_d = cal_days_in_month(CAL_GREGORIAN, $y_m, $y_y);
} else {
$y_m = $m;
$y_y = $y;
$y_d = $d - 1;
}
// 昨天开始时间
$yesterday_start_time = mktime(0, 0, 0, $y_m, $y_d, $y_y);
if ($time < 10) {
return ' 刚刚';
}elseif ($time < 60) {
return $time .' 秒前';
} elseif ($time < 3600) {
return ceil($time/60) .' 分钟前';
} elseif ($unix_time < $today_end_time && $unix_time > $today_start_time) {
return '今天 '. date('H:i', $unix_time);
} elseif ($unix_time < $today_start_time && $unix_time > $yesterday_start_time) {
return '昨天'. date('H:i', $unix_time);
} else {
return date('Y.m.d H:i', $unix_time);
}
}


原文来自:http://www.yigangwu.com/index.php?m=content&c=index&a=show&catid=28&id=8 点击打开链接


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息