gettimeofday()是PHP 的一個內置函數,它返回當前時間,默認返回的是一個數組,包含兩個關鍵的部分:
sec :當前的秒數,Unix 時間戳。
usec :當前秒數之後的微秒數。
利用這兩個數據,我們就可以算出更精確的當前時間。
PHP 代碼示例如下:
<code> <?php // 獲取當前時間的秒和微秒$time = gettimeofday(); // 將秒和微秒轉換成毫秒
$milliseconds = ($time['sec'] * 1000) + (int)($time['usec'] / 1000);
echo "當前時間的毫秒時間戳: " . $milliseconds;
?>
</code>
注意這裡,我們把秒數乘以1000得到毫秒數,再把微秒數除以1000轉成毫秒,最後加起來得到總的毫秒時間戳。
為了驗證這個時間戳的準確性和性能,我們可以寫個性能測試,計算一段代碼執行所用的毫秒數。
假設我們要測試下面這個循環執行時間:
<code> <?php function get_milliseconds() { $time = gettimeofday(); return ($time['sec'] * 1000) + (int)($time['usec'] / 1000); } // 記錄開始時間
$start = get_milliseconds();
// 執行耗時操作,這裡用一個循環模擬
for ($i = 0; $i < 1000000; $i++) {
$x = sqrt($i);
}
// 記錄結束時間
$end = get_milliseconds();
echo "執行時間: " . ($end - $start) . " 毫秒";
?>
</code>
這段代碼中,我們定義了一個get_milliseconds()函數,用gettimeofday()獲取毫秒時間戳。然後記錄執行前後的時間差,得出運行時間。
gettimeofday()是獲取秒和微秒時間的好幫手。
通過簡單計算,能得到毫秒時間戳。
利用毫秒時間戳,能做比較精確的性能測試。
如果你需要更高精度的時間,可以考慮PHP 7.3 以後引入的hrtime() ,它支持納秒級別。
以上就是如何用gettimeofday()獲取毫秒級時間及簡單性能測試的方法。祝你寫出高效的PHP 程序!