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) . '前';
    ?>

  • 相关阅读:
    洛谷P1085 不高兴的津津
    为什么要学习算法
    洛谷P1001 A+B Problem
    计算机问题求解周期
    洛谷P1000 超级玛丽游戏
    洛谷P1421 小玉买文具
    CF359D Pair of Numbers(ST+二分)
    2020.10.7
    2020.10.10
    2020.10.8
  • 原文地址:https://www.cnblogs.com/Pxhphp/p/6426341.html
Copyright © 2011-2022 走看看