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';
?>
-
PHP文件上傳源碼分析
文件上傳,一般分為倆種方式FTP和HTTP,對於我們的互聯網應用來説:FTP上傳雖然傳輸穩定,但是易用性和安全性都是個問題.你總不至於在用户要上傳頭像的時候告訴用户”請打開FTP客户端,上傳文件到中,並以2dk433423l.jpg命名”吧?PHP文件上傳源碼分析基於HTTP的上傳...
-
PHP程序員基本要求和必備技能
PHP程序員有什麼必備知識呢?以下是本站小編精心為大家整理的PHP程序員基本要求和必備技能,希望對大家成為程序員有所幫助!更多內容請關注應屆畢業生網!一名PHP程序員的基本要求:1、精通html、CSS、JS等網站前端技術。2、掌握PHP編程技術。3、瞭解Linux及Apache、...
-
php中zend相對路徑問題
php下使用zend相對路徑的處理方法。如何使用呢?就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!<?phpdefine('P_S',PATH_SEPARATOR);define('ROOT',"../");set_include_path(ROOT.P_S.'Zend'.P_S_incl...
-
PHP學習10個基礎知識總結
PHP學習過程中,必須要掌握基礎的知識點,以下是小編為大家搜索整理的PHP學習10個基礎知識總結,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!PHP10個小基礎知識總結1,在HTML嵌入PHP腳本有三種辦法:以下為引用的內容:<scriptlanguage="PHP">//嵌...