php计算给定时间之前的函数用法实例

yipeiwu_com5年前PHP代码库

本文实例讲述了php计算给定时间之前的函数用法。分享给大家供大家参考。具体如下:

这里给定一个时间,计算这个时间在多久前,比如:2天前,1年前

<?php
function prettyDate($date){
  $time = strtotime($date);
  $now = time();
  $ago = $now - $time;
  if($ago < 60){
    $when = round($ago);
    $s = ($when == 1)?"second":"seconds";
    return "$when $s ago";
  }elseif($ago < 3600){
    $when = round($ago / 60);
    $m = ($when == 1)?"minute":"minutes";
    return "$when $m ago";
  }elseif($ago >= 3600 && $ago < 86400){
    $when = round($ago / 60 / 60);
    $h = ($when == 1)?"hour":"hours";
    return "$when $h ago";
  }elseif($ago >= 86400 && $ago < 2629743.83){
    $when = round($ago / 60 / 60 / 24);
    $d = ($when == 1)?"day":"days";
    return "$when $d ago";
  }elseif($ago >= 2629743.83 && $ago < 31556926){
    $when = round($ago / 60 / 60 / 24 / 30.4375);
    $m = ($when == 1)?"month":"months";
    return "$when $m ago";
  }else{
    $when = round($ago / 60 / 60 / 24 / 365);
    $y = ($when == 1)?"year":"years";
    return "$when $y ago";
  }
}
echo prettyDate("2012-07-22 12:23:45")."<br />";
echo prettyDate("2010-11-12 22:25:45")."<br />";
echo prettyDate("2012-01-01 01:00:00")."<br />";
echo prettyDate("2001-05-30 00:00:00")."<br />";

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

相关文章

PHP中preg_match正则匹配中的/u、/i、/s含义

PHP中preg_match正则匹配的/u /i  /s是什么意思 /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式...

PHP封装的XML简单操作类完整实例

本文实例讲述了PHP封装的XML简单操作类。分享给大家供大家参考,具体如下: xml_dom.php封装类文件: <?php /** * Class xml_dom...

php实现的双向队列类实例

本文实例讲述了php实现的双向队列类及其用法,对于PHP数据结构与算法的学习有不错的参考价值。分享给大家供大家参考。具体分析如下: (deque,全名double-ended queue...

PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法

本文实例讲述了PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法。分享给大家供大家参考,具体如下: 这里把ffmpeg 和  生成缩略图整合了一下: include...

PHP实现发送微博消息功能完整示例

本文实例讲述了PHP实现发送微博消息功能。分享给大家供大家参考,具体如下: <?php $cookie_file = dirname(__FILE__)."/weibo...