PHP Conference Japan 2024

microtime

(PHP 4, PHP 5, PHP 7, PHP 8)

microtime傳回目前的 Unix 時間戳記,包含微秒

說明

microtime(bool $as_float = false): string|float

microtime() 傳回目前的 Unix 時間戳記,包含微秒。此函式僅在支援 gettimeofday() 系統呼叫的作業系統上可用。

對於效能測量,建議使用 hrtime()

參數

as_float

如果使用 microtime() 並將其設定為 true,它會回傳 浮點數 而不是 字串,如下方返回值區段所述。

返回值

預設情況下,microtime() 會回傳格式為「毫秒 秒」的 字串,其中 是自 Unix 紀元(1970 年 1 月 1 日 0:00:00 GMT)以來的秒數,而 毫秒 則是自 以來經過的微秒數,也以十進位小數形式表示為秒數。

如果 as_float 設定為 true,則 microtime() 會回傳 浮點數,表示自 Unix 紀元以來精確到微秒的當前時間(以秒為單位)。

範例

範例 #1 計算腳本執行時間

<?php
$time_start
= microtime(true);

// 暫停一段時間
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo
"執行時間 $time 秒\n";
?>

範例 #2 microtime()REQUEST_TIME_FLOAT

<?php
// 隨機設定睡眠時間
usleep(mt_rand(100, 10000));

// REQUEST_TIME_FLOAT 可在 $_SERVER 超全域陣列中取得。
// 它包含請求開始的時間戳記,精確到微秒。
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo
"執行時間 $time 秒\n";
?>

另請參閱

  • time() - 回傳目前的 Unix 時間戳記
  • hrtime() - 取得系統的高解析度時間

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top