加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-06-20 13:48:19 所属栏目:PHP教程 来源:
导读:在文章里面我说了很多关于php计算时间间隔实现程序代码的实现方法原理以及分析如何来做这个功能,下面实例是告诉我们在论坛有看到关于多少秒钟前发了帖子等这些功能.分析:实际时间30秒==60 5分钟==60*10 //这里我觉得

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

分析:实际时间

30秒==60 

5分钟==60*10 //这里我觉得应该是五分钟,而不是一分钟,个人觉得 一分钟的话应该是 60*2 

10分钟==60*20 

30分钟==60*60 

1小时==60*60*2 

2.5小时==60*60*5 

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

实例:代码如下

<?php 

/** 

 * 时间差计算 

 * 

 * @param Timestamp $time 

 * @return String Time Elapsed 

 * @author Shelley Shyan 

 * @copyright http://www.Cuoxin.com (Professional PHP Architecture) 

 */ 

function time2Units ($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 ( $$u > 0 ) 

       { 

           $elapse = $$u . $cn; 

           break; 

       } 

   } 

   return $elapse; 

$past = 2052345678; // Some timestamp in the past 

$now  = time();     // Current timestamp 

$diff = $now - $past; 

echo '发表于' . time2Units($diff) . '前'; 

?> 

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

<?php 

    $regist1 = "05/12/2006"; 

    $regist2 = "10/05/2007"; 

    list($month1,$day1,$year1) = explode("/",$regist1); 

    list($month2,$day2,$year2) = explode("/",$regist2); 

    $regist1 = mktime(0,0,0,$month1,$day1,$year1); 

    $regist2 = mktime(0,0,0,$month2,$day2,$year2); 

    $time_difference = $regist2-$regist1; 

    echo ("时间差:"); 

    echo date("Y",$time_difference) - 1970; 

    echo ("年"); 

    echo date("m",$time_difference) - 1; 

    echo ("个月"); 

    echo date("d",$time_difference) - 1; 

    echo ("天"); 

?> 

好了喜欢就自己选择用吧。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!