php时间差计算函数

应用场景为文章内容具有评论功能模块,记录用户评论发表于多少秒前或分钟前等等。

文件名 test.php

/**
 * 时间差计算
 *
 * @param Timestamp $time 时间差
 * @return String
 */
function time2_units($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;
}
// 运行
time2_units('1501900700');

cli运行
php test.php

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,147评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,367评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,152评论 6 342
  • 以前一直在想有什么方法可以让这件事情变得清晰明了还能简单易懂。首先要这样写出来,然后在那样一点点对比套进去,最后站...
    路人乙l阅读 1,670评论 0 0
  • 今天和一个六年左右没见面的异性朋友见了面 非说关系是我一个小姐姐的前男友 不过讲真 我比小姐姐更喜欢他一点 暗恋嘛...
    老氛围阅读 1,198评论 0 0

友情链接更多精彩内容