格式化日期,刚刚,几秒前,几分钟前,几小时前.....
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 点击打开链接
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- 如何在 Linux 上安装、配置 NTP 服务器和客户端?
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品
- php7 读取php.ini[4]
- DB2 日期和时间的函数应用说明
- flex actionScript时间处理相加返回相加后的date
- Flex中对表格某列的值进行数字格式化并求百分比添加%