- 相關(guān)推薦
php中計算時間差的方法有哪些
在php中計算時間差有時候是件麻煩的事!不過只要你掌握了日期時間函數(shù)的用法那這些也就變的簡單了。
一個簡單的例子就是計算借書的天數(shù),這需要php根據(jù)每天的日期進行計算,下面就來談?wù)剬崿F(xiàn)這種日期計算的幾種方法:
(1) 如果有數(shù)據(jù)庫就很容易了!若是MSSQL可以使用觸發(fā)器!用專門計算日期差的函數(shù)datediff()便可!
若是MYSQL那就用兩個日期字段的差值計算的計算結(jié)果保存在另一個數(shù)值型字段中!用時調(diào)用便可!
(2)如果沒有數(shù)據(jù)庫,那就得完全用php的時間日期函數(shù)!下面主要說明之:
例:計算1998年5月3日到1999-6-5的天數(shù):
<?php
$startdate=mktime("0","0","0","5","3","1998");
$enddate=mktime("0","0","0","6","5","1999");
//所得到的值為從1970-1-1到參數(shù)時間的總秒數(shù):是整數(shù).那么
//下面的代碼就好編多了:
$days=round(($enddate-$startdate)/3600/24) ;
echo $days;
//days為得到的天數(shù);
?>
若mktime()中的參數(shù)缺省,那表示使用當前日期,這樣便可計算從借書日期至今的天數(shù).
【拓展閱讀】
php計算函數(shù)執(zhí)行時間的方法
我們可以通過在程序的前后分別記錄開始和結(jié)束時間,兩個時間差就是程序的執(zhí)行時間。
<?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";
?>
運行結(jié)果如下:
That took 7.1525573730469E-6 seconds.
php 計算函數(shù)執(zhí)行時間的方法及獲得微妙的方法
// 獲得微妙方法
function getMillisecond()
{
list($s1, $s2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
}
原理:分別記錄函數(shù)開始時間和結(jié)束時間,然后時間差就是函數(shù)執(zhí)行的時間
<?php
$start_time = microtime(true);
for($i=1;$i<=1000;$i++){
echo $i.'<br>';
}
$end_time = microtime(true);
echo '循環(huán)執(zhí)行時間為:'.($end_time-$start_time).' s';
?>
【php中計算時間差的方法有哪些】相關(guān)文章:
PHP計算時間差的方法有哪些08-31
PHP中計算時間差的方法10-28
如何使用PHP計算時間差07-20
PHP處理密碼的方法有哪些10-18
PHP關(guān)聯(lián)鏈接添加方法有哪些07-12
php實現(xiàn)cookie加密的方法有哪些09-23
PHP錯誤類型及屏蔽方法有哪些11-06
PHP 7.1 中的重大更新有哪些11-08