php計算時間間隔實現程式碼

來源:互聯網
上載者:User

下面執行個體是告訴我們在論壇有看到關於多少秒鐘前發了文章等這些功能,

分析

實際時間 PHP

1秒 2“秒”

______________________

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.111cn.net (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 ("天");
?>


好了喜歡就自己選擇用吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.