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

  • 相关阅读:
    PAIRING WORKFLOW MANAGER 1.0 WITH SHAREPOINT 2013
    Education resources from Microsoft
    upgrade to sql server 2012
    ULSViewer sharepoint 2013 log viewer
    Top 10 Most Valuable Microsoft SharePoint 2010 Books
    讨论 Setsockopt选项
    使用 Alchemy 技术编译 C 语言程序为 Flex 可调用的 SWC
    Nagle's algorithm
    Nagle算法 TCP_NODELAY和TCP_CORK
    Design issues Sending small data segments over TCP with Winsock
  • 原文地址:https://www.cnblogs.com/Pxhphp/p/6426341.html
Copyright © 2011-2022 走看看