PHP microtime 函數

PHP microtime 函數可以用來讀取伺服器當前的 Unix 時間戳以及微秒數,PHP 的 timemktime 函數僅能返回至,而 microtime 函數可以返回至小數點以下的毫秒,例如 time 可以返回 1415335769 這樣的 Unix 時間戳,而 microtime 可以返回 1415335769.36 這樣的 Unix 時間戳,換句話說 microtime 比 time 函數更精確,不過 microtime 僅在支援 gettimeofday() 系統調用的作業系統環境才能使用。

PHP microtime 函數基本語法
microtime(get_as_float);
PHP microtime 原本並沒有參數可以使用,返回的值是由兩個數字組成,像「msec sec」這樣表示,其中 msec 是微秒的位置,而 sec 則是,兩者的單位其實都是,實際樣貌像「0.35679800 1415335769」這樣,其中 0.35679800 單位是秒,而 1415335769 也是秒。

傳統的情況下,要取得 1415335769.37 這樣的結果,必須再透過其它函數如 explode 的處理,實在有點麻煩,直到 PHP 5.4.0 版本開始加入了 get_as_float 參數,若將 get_as_float 參數設為 true,microtime 會返回一個包含兩位小數的 Unix 時間戳,可以輕易的取得我們要的結果,也就是直接輸出「1415335769.37」這樣的結果,這部分的實際操作將在範例中清楚的呈現給各位看。

PHP microtime 函數應用範例
<?php
  echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'; //網頁編碼宣告
  echo '當前 Unix 時間戳秒數: '. time().'秒<br>';
  echo 'PHP microtime 的結果: '.microtime().'<br>';
  echo '當前 Unix 時間戳秒數: '.microtime(true).'秒';
?>
範例輸出結果(僅為示意)
當前 Unix 時間戳秒數: 1415337041秒
PHP microtime 的結果: 0.01306500 1415337041
當前 Unix 時間戳秒數: 1415337041.01秒
範例的 Unix 時間戳輸出共有三次,第一次是用簡單的 time 函數直接讀取伺服器的 Unix 時間戳,第二次輸出是直接將 microtime 函數的讀取結果輸出,其中 0.01306500 與 1415337041 都是 Unix 時間戳記的秒,差別是前面的 0.01306500 是小數點表示,通常也稱為微秒,第三次輸出的結果是先將 microtime 的參數 get_as_float 設為 true,如此一來就能取得 1415337041.01 這樣的結果。

補充、讓 microtime 使用 true 參數輸出的結果具有四捨五入的功能。

更多 PHP 時間計算
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012