• 技术文章 >后端开发 >php教程

    php将日期格式转换成xx天前的格式_php技巧

    2016-05-16 20:17:27原创488
    本文实例讲述了php将日期格式转换成xx天前格式的方法。分享给大家供大家参考。具体如下:

    这段代码可以把时间格式化成3天前,5秒前,2年前的形式

    // convert a date into a string that tells how long ago
    // that date was.... eg: 2 days ago, 3 minutes ago.
    function ago($d) {
     $c = getdate();
     $p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds');
     $display = array('year', 'month', 'day', 'hour', 'minute', 'second');
     $factor = array(0, 12, 30, 24, 60, 60);
     $d = datetoarr($d);
     for ($w = 0; $w < 6; $w++) {
     if ($w > 0) {
      $c[$p[$w]] += $c[$p[$w-1]] * $factor[$w];
      $d[$p[$w]] += $d[$p[$w-1]] * $factor[$w];
     }
     if ($c[$p[$w]] - $d[$p[$w]] > 1) { 
      return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago';
     }
     }
     return '';
    }
    // you can replace this if need be. 
    // This converts my dates returned from a mysql date string 
    // into an array object similar to that returned by getdate().
    function datetoarr($d) {
     preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches);
     return array( 
     'seconds' => $matches[10], 
     'minutes' => $matches[8], 
     'hours' => $matches[6], 
     'mday' => $matches[5], 
     'mon' => $matches[3], 
     'year' => $matches[1], 
     );
    }

    希望本文所述对大家的php程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php和editplus正则表达式去除空白行_php技巧 下一篇:php实现屏蔽掉黑帽SEO的搜索关键字_php实例
    千万级数据并发解决方案

    相关文章推荐

    • 第1次亲密接触PHP5(2)_PHP教程• Classes and Objects in PHP5-面向对象编程 [1]_PHP教程• nginx支持pathinfo模式• php 不使用js实现页面跳转_php技巧• PHP项目开发中最常用的自定义函数整理_php技巧
    1/1

    PHP中文网