php 相对时间函数(日期显示形式为相对时间)
2016-05-11 16:00
621 查看
将显示日期YY-MM-DD H:i:s改为相对时间展示更为直观,比如说“几分钟之前”,“几小时之前”,“刚刚”,下面是相对时间函数。
//获取相对时间,传参可以是日期 如 "2015-6-16 12:10:10"; ,也可以是时间戳
function getDiffTime($time) {
if($time == 0 || $time == ""){
return "";
}
if(is_numeric($time)){
$diff = time() - $time;
}else{
$diff = time() - strtotime($time);
}
if($diff > 0 ){
if ($diff<60)
return sprintf(L('DIFF_TIME_MINUTE_AGO'),$diff);
$diff = round($diff/60);
if ($diff<60)
return sprintf(L('DIFF_TIME_SECOND_AGO'),$diff);
$diff = round($diff/60);
if ($diff<24)
return sprintf(L('DIFF_TIME_HOUR_AGO'),$diff);
$diff = round($diff/24);
if ($diff<7)
return sprintf(L('DIFF_TIME_DAY_AGO'),$diff);
$diff = round($diff/7);
if ($diff<4)
return sprintf(L('DIFF_TIME_WEEK_AGO'),$diff);
}else{
$diff = abs($diff);
if ($diff<60)
return sprintf(L('DIFF_TIME_MINUTE_AFTER'),$diff);
$diff = round($diff/60);
if ($diff<60)
return sprintf(L('DIFF_TIME_SECOND_AFTER'),$diff);
$diff = round($diff/60);
if ($diff<24)
return sprintf(L('DIFF_TIME_HOUR_AFTER'),$diff);
$diff = round($diff/24);
if ($diff<7)
return sprintf(L('DIFF_TIME_DAY_AFTER'),$diff);
$diff = round($diff/7);
if ($diff<4)
return sprintf(L('DIFF_TIME_WEEK_AFTER'),$diff);
}
if(is_numeric($time)){
return date('Y-m-d',$time);
}else{
return date("Y-m-d", strtotime($time));
}
}
//获取相对时间,传参可以是日期 如 "2015-6-16 12:10:10"; ,也可以是时间戳
function getDiffTime($time) {
if($time == 0 || $time == ""){
return "";
}
if(is_numeric($time)){
$diff = time() - $time;
}else{
$diff = time() - strtotime($time);
}
if($diff > 0 ){
if ($diff<60)
return sprintf(L('DIFF_TIME_MINUTE_AGO'),$diff);
$diff = round($diff/60);
if ($diff<60)
return sprintf(L('DIFF_TIME_SECOND_AGO'),$diff);
$diff = round($diff/60);
if ($diff<24)
return sprintf(L('DIFF_TIME_HOUR_AGO'),$diff);
$diff = round($diff/24);
if ($diff<7)
return sprintf(L('DIFF_TIME_DAY_AGO'),$diff);
$diff = round($diff/7);
if ($diff<4)
return sprintf(L('DIFF_TIME_WEEK_AGO'),$diff);
}else{
$diff = abs($diff);
if ($diff<60)
return sprintf(L('DIFF_TIME_MINUTE_AFTER'),$diff);
$diff = round($diff/60);
if ($diff<60)
return sprintf(L('DIFF_TIME_SECOND_AFTER'),$diff);
$diff = round($diff/60);
if ($diff<24)
return sprintf(L('DIFF_TIME_HOUR_AFTER'),$diff);
$diff = round($diff/24);
if ($diff<7)
return sprintf(L('DIFF_TIME_DAY_AFTER'),$diff);
$diff = round($diff/7);
if ($diff<4)
return sprintf(L('DIFF_TIME_WEEK_AFTER'),$diff);
}
if(is_numeric($time)){
return date('Y-m-d',$time);
}else{
return date("Y-m-d", strtotime($time));
}
}
相关文章推荐
- PHP递归与非递归实现二分查找
- 100多行PHP代码实现socks5代理服务器
- php内核探索
- PHP简介
- H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式(包含AAC部分解析)
- php 判断skip32 加密后是否有重复
- php 正则验证
- ubuntu 16.04 安装PhpMyAdmin
- 风雨php路=>魔术方法定义
- Robi改造计划RTP---更改计划,先跑通tensorflow,后ROS
- PHP中的数据类型
- 七大常用PHP算法
- ContentProvider入门
- php文件只要开始标签而不要结尾标签?
- mysql 下phpmyadmin安装
- PHP Date()函数详细参数
- Windows下NexusPHP搭建PT站过程
- PHP变量
- yii列表和分页
- yii设置mysql数据库