加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP计算时间差 显露用户发表评论时间

发布时间:2023-06-26 13:54:13 所属栏目:PHP教程 来源:
导读:前段时间做一个APP后台时用户要求用户的评论以xx分钟前这种格式显示,给用户以良好的体验,于是笔者写了一个函数,本函数主要是利用PHP计算两个时间之间的差值,通过差值来转换,虽然代码很简单,但是很实用.PHP实例代码如

前段时间做一个APP后台时用户要求用户的评论以xx分钟前这种格式显示,给用户以良好的体验,于是笔者写了一个函数,本函数主要是利用PHP计算两个时间之间的差值,通过差值来转换,虽然代码很简单,但是很实用.PHP实例代码如下:

<?php 

/** 

 * 时间差计算 

 * 

 * @param Timestamp $time 时间差 

 * @return String Time Elapsed 

 * @author jakehu  

 */ 

function time2Units ($time) 

$year   = floor($time / 60 / 60 / 24 / 365); 

$time  -= $year * 60 * 60 * 24 * 365; 

$month  = floor($time / 60 / 60 / 24 / 30); 

$time  -= $month * 60 * 60 * 24 * 30; 

$week   = floor($time / 60 / 60 / 24 / 7); 

$time  -= $week * 60 * 60 * 24 * 7; 

$day    = floor($time / 60 / 60 / 24); 

$time  -= $day * 60 * 60 * 24; 

$hour   = floor($time / 60 / 60); 

$time  -= $hour * 60 * 60; 

$minute = floor($time / 60); 

$time  -= $minute * 60; 

$second = $time; 

$elapse = ''; 

$unitArr = array('年前'  =>'year', '个月前'=>'month',  '周前'=>'week', '天前'=>'day', 

'小时前'=>'hour', '分钟前'=>'minute', '秒前'=>'second' 

); 

foreach ( $unitArr as $cn => $u ) 

if ( $year > 0 ) {//大于一年显示年月日 

$elapse = date('Y/m/d',time()-$time); 

break; 

else if ( $$u > 0 ) 

$elapse = $$u . $cn; 

break; 

return $elapse; 

$past = 1390000000; //起点时间 

$diff = time() - $past;//时间差 

echo '发表于' . time2Units($diff) . '前'; 

?> 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!