php专区

 首页 > php专区 > PHP高级 > 日期 > php计算时间间隔实现程序代码 - php日期

php计算时间间隔实现程序代码 - php日期

分享到:
【字体:
导读:
          在文章里面我说了很多关于php计算时间间隔实现程序代码的实现方法原理以及分析如何来做这个功能,下面实例是告诉我们在论坛有看到关于多少秒...

php计算时间间隔实现程序代码

在文章里面我说了很多关于php计算时间间隔实现程序代码的实现方法原理以及分析如何来做这个功能,下面实例是告诉我们在论坛有看到关于多少秒钟前发了帖子等这些功能.

分析:实际时间

  1. 30秒==60 
  2. 5分钟==60*10 //这里我觉得应该是五分钟,而不是一分钟,个人觉得 一分钟的话应该是 60*2 
  3. 10分钟==60*20 
  4. 30分钟==60*60 
  5. 1小时==60*60*2 
  6. 2.5小时==60*60*5 

原理:用当前时间time(),减去你信息录入时的新增时间,(注意是时间戳),然后得出的差数,就是秒数,再根据自己的需要来转换啊,例如你想转换成分钟,就除以60。

实例:代码如下

  1. /** 
  2.  * 时间差计算 
  3.  * 
  4.  * @param Timestamp $time 
  5.  * @return String Time Elapsed 
  6.  * @author Shelley Shyan 
  7.  * @copyright http://www.phpfensi.com (Professional PHP Architecture) 
  8.  */ 
  9. function time2Units ($time
  10.    $year   = floor($time / 60 / 60 / 24 / 365); 
  11.    $time  -= $year * 60 * 60 * 24 * 365; 
  12.    $month  = floor($time / 60 / 60 / 24 / 30); 
  13.    $time  -= $month * 60 * 60 * 24 * 30; 
  14.    $week   = floor($time / 60 / 60 / 24 / 7); 
  15.    $time  -= $week * 60 * 60 * 24 * 7; 
  16.    $day    = floor($time / 60 / 60 / 24); 
  17.    $time  -= $day * 60 * 60 * 24; 
  18.    $hour   = floor($time / 60 / 60); 
  19.    $time  -= $hour * 60 * 60; 
  20.    $minute = floor($time / 60); 
  21.    $time  -= $minute * 60; 
  22.    $second = $time
  23.    $elapse = ''
  24.    $unitArr = array('年'  =>'year''个月'=>'month',  '周'=>'week''天'=>'day'
  25.                     '小时'=>'hour''分钟'=>'minute''秒'=>'second' 
  26.                     ); 
  27.    foreach ( $unitArr as $cn => $u ) 
  28.    { 
  29.        if ( $$u > 0 ) 
  30.        { 
  31.            $elapse = $$u . $cn
  32.            break
  33.        } 
  34.    } 
  35.    return $elapse
  36. $past = 2052345678; // Some timestamp in the past 
  37. $now  = time();     // Current timestamp 
  38. $diff = $now - $past
  39. echo '发表于' . time2Units($diff) . '前'
  40. ?> 

这是一个刚入门的同学写的,代码如下:

  1.     $regist1 = "05/12/2006"
  2.     $regist2 = "10/05/2007"
  3.     list($month1,$day1,$year1) = explode("/",$regist1); 
  4.     list($month2,$day2,$year2) = explode("/",$regist2); 
  5.     $regist1 = mktime(0,0,0,$month1,$day1,$year1); 
  6.     $regist2 = mktime(0,0,0,$month2,$day2,$year2); 
  7.     $time_difference = $regist2-$regist1
  8.     echo ("时间差:"); 
  9.     echo date("Y",$time_difference) - 1970; 
  10.     echo ("年"); 
  11.     echo date("m",$time_difference) - 1; 
  12.     echo ("个月"); 
  13.     echo date("d",$time_difference) - 1; 
  14.     echo ("天"); 
  15. ?> 
好了喜欢就自己选择用吧。
分享到:
显示本月,上月,今天,今年以及各时间起...
显示本月,上月,今天,今年以及各时间起点与终点的做法 mktime() 函数 返回一个日期的 Unix 时间戳,参数总是表示 GMT 日期,因此 is_dst 对结果没有影响,参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。 PHP Date() 函数 PHP Date() 函数可把时间戳格式化为可读性更好的...
php 日期加减法运算实现代码 - php日期
php 日期加减法运算实现代码 php中通过对某个日期增加或减去几天,得到另外一个日期,我们会用两个实例来说明一个是strtotime与mktime把时间转换成时间戳再处理,有需要的同学看看。 下例:获得2012-5-1号之前一天的日期,代码如下:   输出:2012-4-30,此外,time()函数获得当前日...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……