當前位置:才華齋>計算機>php語言>

php中計算時間差的方法有哪些

php語言 閱讀(2.48W)

在php中計算時間差有時候是件麻煩的事!不過只要你掌握了日期時間函式的用法那這些也就變的簡單了。

php中計算時間差的方法有哪些

一個簡單的例子就是計算借書的天數,這需要php根據每天的'日期進行計算,下面就來談談實現這種日期計算的幾種方法:

(1) 如果有資料庫就很容易了!若是MSSQL可以使用觸發器!用專門計算日期差的函式datediff()便可!

若是MYSQL那就用兩個日期欄位的差值計算的計算結果儲存在另一個數值型欄位中!用時呼叫便可!

(2)如果沒有資料庫,那就得完全用php的時間日期函式!下面主要說明之:

例:計算1998年5月3日到1999-6-5的天數:

<?php

$startdate=mktime("0","0","0","5","3","1998");

$enddate=mktime("0","0","0","6","5","1999");

//所得到的值為從1970-1-1到引數時間的總秒數:是整數.那麼

//下面的程式碼就好編多了:

$days=round(($enddate-$startdate)/3600/24) ;

echo $days;

//days為得到的天數;

?>

若mktime()中的引數預設,那表示使用當前日期,這樣便可計算從借書日期至今的天數.

【拓展閱讀】

php計算函式執行時間的方法

我們可以通過在程式的前後分別記錄開始和結束時間,兩個時間差就是程式的執行時間。

<?php

$long_str = "this is a test to see how much time md5 function takes to execute over this string";

// start timing from here

$start = microtime(true);

// function to test

$md5 = md5($long_str);

$elapsed = microtime(true) - $start;

echo "That took $elapsed seconds.n";

?>

執行結果如下:

That took 7.1525573730469E-6 seconds.

php 計算函式執行時間的方法及獲得微妙的方法

// 獲得微妙方法

function getMillisecond()

{

list($s1, $s2) = explode(' ', microtime());

return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);

}

原理:分別記錄函式開始時間和結束時間,然後時間差就是函式執行的時間

<?php

$start_time = microtime(true);

for($i=1;$i<=1000;$i++){

echo $i.'<br>';

}

$end_time = microtime(true);

echo '迴圈執行時間為:'.($end_time-$start_time).' s';

?>