PHP 开发:将时间以距今多久的形式表示,PHP,js 双版
本
依然从项目需求出发,些了这个函数,PHP 版本写了一个 Smarty 的插件,只要简单的修
改下函数名就能直接在 PHP 中调用了,同时,为了 AJAX 翻页时所获取 JSON 数据中的
时间以同样的方式显示,因此又写了一个 JS 的版本
废话不多说直接上代码。
PHP FOR Smarty
代码如下:
* Name: time_ago
* Purpose:
将时间戳专为距当前时间的表现形式
* 1
分钟内按秒
* 1
小时内按分钟显示
* 1
天内按时分显示
* 3
天内以昨天,前天显示
* 超过 3
天显示具体日期
*
* @author Peter Pan
* @param int
$time
input int
*/
function
smarty_modifier_time_ago(
$time
) {
$time_deff
= time() -
$time
;
$retrun
= '';
if
(
$time_deff
>= 259200) {
$retrun
=
date
('Y-m-d H:i',
$time
);
}
else
if
(
$time_deff
>= 172800) {
$retrun
= "
前天 " .
date
('H:i',
$time
);
}
else
if
(
$time_deff
>= 86400) {
$retrun
= "昨天" .
date
('H:i',
$time
);
}
else
if
(
$time_deff
>= 3600) {
$hour
=
intval
(
$time_deff
/ 3600);
$minute
=
intval
((
$time_deff
% 3600) / 60);
$retrun
=
$hour
. '小时';
if
(
$minute
> 0) {
$retrun
.=
$minute
. '分钟';
}
$retrun
.= '前';
}
else
if
(
$time_deff
>= 60) {