zoukankan      html  css  js  c++  java
  • PHP时间比较和时间差如何计算

    复制代码
    1.<?php   
    2. $zero1=date(“y-m-d h:i:s”);   
    3. $zero2=”2010-11-29 21:07:00′;   
    4. echo “zero1的时间为:”.$zero1.”<br>”;   
    5. echo “zero2的时间为:”.$zero2.”<br>”;   
    6. if(strtotime($zero1)<strtotime($zero2)){   
    7.  echo “zero1早于zero2′;   
    8. }else{   
    9.  echo “zero2早于zero1′;   
    10. }   
    11. ?>  
    复制代码

    上面是比较两个绝对时间的大小

    复制代码
    <?php   
    $zero1=strtotime (date("y-m-d h:i:s")); //当前时间  ,注意H 是24小时 h是12小时 
    $zero2=strtotime ("2014-1-21 00:00:00");  //过年时间,不能写2014-1-21 24:00:00  这样不对 
    $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h   
    echo "离过年还有<strong>$guonian</strong>天!";   
    ?>  
    复制代码

    上面是倒计时小程序 实例代码

    复制代码
    <?php
    //PHP计算两个时间差的方法 
    $startdate="2010-12-11 11:40:00";
    $enddate="2012-12-12 11:45:09";
    $date=floor((strtotime($enddate)-strtotime($startdate))/86400);
    $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
    $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
    $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
    echo $date."天<br>";
    echo $hour."小时<br>";
    echo $minute."分钟<br>";
    echo $second."秒<br>";
    
    ?>
    复制代码

     

    <?php
    /**
     * 时间差计算
     *
     * @param Timestamp $time
     * @return String Time Elapsed
     * @author Shelley Shyan
     * @copyright http://phparch.cn (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) . '前';
    ?>

  • 相关阅读:
    springmvc之异常处理DefaultHandlerExceptionResolver
    springmvc之异常处理ResponseStatusExceptionResolver
    springmvc之异常处理中ExceptionHanderExceptionResolver
    springmvc之多个拦截器方法执行的顺序
    springmvc之配置拦截器拦截相应的请求
    springmvc之自定义拦截器
    springmvc之文件上传
    springmvc之HttpMessageConverter<T>
    构建Java并发模型框架
    Java线程:线程的调度-守护线程——Java线程:线程的调度-合并——Java线程:新特征-障碍器——Java线程:大总结
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/4368734.html
Copyright © 2011-2022 走看看