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

 更新时间:2015年04月16日 10:11:43   作者:不吃皮蛋  
这篇文章主要介绍了php将日期格式转换成xx天前的格式,涉及php时间操作及正则匹配的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • PHP 加密解密内部算法

    PHP 加密解密内部算法

    最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的…使用这些加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧。
    2010-04-04
  • 学习php设计模式 php实现命令模式(command)

    学习php设计模式 php实现命令模式(command)

    这篇文章主要介绍了php设计模式中的命令模式,使用php实现命令模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • php计算一个文件大小的方法

    php计算一个文件大小的方法

    这篇文章主要介绍了php计算一个文件大小的方法,涉及php操作文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 使用php数据缓存技术提高执行效率

    使用php数据缓存技术提高执行效率

    使用php缓存技术时为了提高效率。在大量的并发访问面前,获取数据可能成为效率的瓶颈,PHP实际开发之中针对数据处理进行缓存。
    2022-12-12
  • Laravel操作redis和缓存操作详解

    Laravel操作redis和缓存操作详解

    这篇文章主要为大家详细介绍了Laravel操作redis和缓存操作的相关知识,文中的示例代码讲解详细,具有一定的学习和借鉴价值,感兴趣的小伙伴可以跟随小编一起学习游戏
    2023-02-02
  • Cannot modify header information错误解决方法

    Cannot modify header information错误解决方法

    Warning: Cannot modify header information - headers already sent by出错的原因
    2008-10-10
  • PHP调用FFMpeg实现音视频操作的示例详解

    PHP调用FFMpeg实现音视频操作的示例详解

    这篇文章主要为大家详细介绍了PHP如何调用FFMpeg实现简单的音视频操作,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2023-10-10
  • php文件操作之文件写入字符串、数组的方法分析

    php文件操作之文件写入字符串、数组的方法分析

    这篇文章主要介绍了php文件操作之文件写入字符串、数组的方法,结合实例形式分析了php文件写入字符串、数组的相关操作方法与注意事项,需要的朋友可以参考下
    2019-04-04
  • php htmlentities和htmlspecialchars 的区别

    php htmlentities和htmlspecialchars 的区别

    很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。
    2008-08-08
  • windows服务器iis+php获得错误信息的配置方法

    windows服务器iis+php获得错误信息的配置方法

    最近技术在服务器上执行代码时总是显示空白信息,因为本地测试正常的,但服务器上就有问题了,默认都是不显示php代码的错误信息的,可以通过如下设置就可以了
    2025-02-02

最新评论