當前位置:首頁 > PHP教程 > php日期 > 列表

php計算PHP腳本執行時間例子

發布:smiling 來源: PHP粉絲網  添加日期:2014-09-22 16:45:05 瀏覽: 評論:0 

在PHP中,大多數的時間格式都是以UNIX時間戳表示的,而UNIX時間戳是以s(秒)為最小的計量時間的單位,這對某些應用程序來說不夠精確,所以可以調用microtime()返回當前UNIX時間戳和微妙數,該函數的原型如下:

mixed microtime([bool get_as_float]); //返回當前UNIX時間戳和微妙數

可以為該函數提供一個可選的布爾型參數,如果在調用時不提供這個參數,本函數以“msec sec”的格式返回一個字符串,其中sec是自UNIX紀元到現在的秒數,而msec是微妙部分,字符串的兩部分都是以秒為單位返回的.

如果給出了get_as_float參數并且其值等價于TRUE,microtime()將返回一個浮點數,在小數點前面還是以時間戳格式表示,而小數點后面則表示微妙的值,但要注意參數get_as_float是在PHP5.0版本中新加的,所以在PHP5以前的版本中,不能直接使用該參數直接請求一個浮點數,在下面的例子中通過兩次調用microtime()函數,計算運行PHP腳本所需要的時間,代碼如下所示:

  1. <?php 
  2. //生命一個計算腳本運行時間的類 
  3. class Timer{ 
  4. private $startTime = 0; //保存腳本開始執行時的時間(以微秒的形式保存) 
  5. private $stopTime = 0; //保存腳本結束執行時的時間(以微秒的形式保存) 
  6.  
  7. //在腳本開始處調用獲取腳本開始時間的微秒值 
  8. function start(){ 
  9. $this->startTime = microtime(true); //將獲取的時間賦值給成員屬性$startTime 
  10. //腳本結束處嗲用腳本結束的時間微秒值 
  11. function stop(){ 
  12. $this->stopTime = microtime(true); //將獲取的時間賦給成員屬性$stopTime 
  13. //返回同一腳本中兩次獲取時間的差值 
  14. function spent(){ 
  15. //計算后4舍5入保留4位返回 
  16. return round(($this->stopTime-$this->startTime),4); 
  17.  
  18. $timernew Timer();  
  19. $timer->start(); //在腳本文件開始執行時調用這個方法 
  20. usleep(1000); //腳本的主題內容,這里可以休眠一毫秒為例 
  21. $timer->stop(); //在腳本文件結束處調用這個方法 
  22.  
  23. echo "執行該腳本用時<b>".$timer->spent()."</b>"
  24.  
  25. ?> 

在以上腳本中,聲明一個用于計算腳本執行時間的類Timer,需要在腳本執行開始的位置調用該類中的start()方法,獲取腳本開始執行時的時間,并在腳本執行結束的位置調用該類中的stop()方法,獲取腳本運行結束時的時間,再通過訪問該類中的spent()方法,就可以獲取運行腳本所需的時間.

后面我又打到一個類,下面我們一起來看看吧,代碼如下:

  1. ** 
  2.  * 獲取某段程序運行所用的時間 
  3.  * 
  4.  */ 
  5. class runtime 
  6. {  
  7.  var $StartTime = 0;  
  8.  var $StopTime = 0; 
  9.  
  10.  /** 
  11.   * 獲取系統時間 
  12.   * 
  13.   * @return unknown 
  14.   */ 
  15.  function get_microtime() 
  16.  {  
  17.   list($usec$sec) = explode(‘ ’, microtime()); //取系統時間 前半部分是時間戳,后半部分是微妙部分 
  18.   return ((float)$usec + (float)$sec); 
  19.  } 
  20.  /** 
  21.   * 取程序開始時候的系統時間 
  22.   * 
  23.   */ 
  24.  function start() 
  25.  {  
  26.   $this->StartTime = $this->get_microtime();  //程序開始的時候用這個方法取一次時間 
  27.  } 
  28.  /** 
  29.   * 取程序結束時候的系統時間 
  30.   * 
  31.   */ 
  32.  function stop() 
  33.  {  
  34.   $this->StopTime = $this->get_microtime();   //程序結束的時候用這個方法取一次時間 
  35.  } 
  36.  /** 
  37.   * 計算出程序運行所用時間 
  38.   * 
  39.   * @return unknown 
  40.   */ 
  41.  function spent() 
  42.  {  
  43.     // return round(($this->StopTime - $this->StartTime) * 1000, 1); 
  44.     //開源代碼phpfensi.com 
  45.   return round(($this->StopTime - $this->StartTime), 4); //用結束時候的時間減去開始時候的時間,就是程序運行的時間了 
  46.  } 
  47. }

Tags: php計算時間 PHP腳本執行時間

分享到:

广西快3最大遗漏值统计表