background image

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) {