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

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

      

  • 相关阅读:
    SQL 通配符
    SQL 中定义别名
    SQL 语句执行顺序
    将汉字散列存储
    FileStream写文本文档时候显示其他进程正在访问的问题
    向数据库中添加含有单引号的数据
    整词二分、逐字二分的分词词典机制
    C# 集合类总结(Array,Arraylist,List,Hashtable,Dictionary,Stack,Queue)
    固定表格宽度
    对于交叉表的实现及多重表头的应用
  • 原文地址:https://www.cnblogs.com/vania/p/6950905.html
Copyright © 2011-2022 走看看