當前位置: 首頁> 最新文章列表> 如何使用microtime() 函數獲取高精度時間戳?學習在PHP 中精確記錄時間的技巧

如何使用microtime() 函數獲取高精度時間戳?學習在PHP 中精確記錄時間的技巧

gitbox 2025-09-08
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以是任意 PHP 代碼</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"初始化程序...\n"</span></span><span>;
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> < </span><span><span class="hljs-number">1000</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span>++) {
    </span><span><span class="hljs-variable">$a</span></span><span> = </span><span><span class="hljs-variable">$i</span></span><span> * </span><span><span class="hljs-variable">$i</span></span><span>;
}
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"初始化完成,用時:"</span></span><span> . (</span><span><span class="hljs-variable">$end</span></span><span> - </span><span><span class="hljs-variable">$start</span></span><span>) . </span><span><span class="hljs-string">" 秒\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>如何使用 </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>() 函數獲取高精度時間戳?學習在 PHP 中精確記錄時間的技巧</h1>

<p>在開發 PHP 应用時,有時我們需要精確地記錄程序運行時間,尤其是在性能調優、日誌記錄或者生成唯一標識符時。PHP 提供了 <code></span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>()

這樣,你就可以得到帶有微秒精度的執行時間,非常適合性能分析。

3 . 獲取字符串形式的微秒時間

如果你想獲取字符串形式的高精度時間:

 &lt;?php
</span><span><span class="hljs-variable">$time_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"當前微秒時間字符串:<span class="hljs-subst">$time_str</span></span></span><span>";
?&gt;

輸出類似:

 <span><span>0.123456</span></span><span> </span><span><span>1692871234</span></span><span>

這裡,前半部分是微秒,後半部分是秒數,可以自行拆分進行處理。

4 . 生成高精度唯一標識符

利用microtime(true) ,我們可以生成精確到微秒的唯一ID:

 &lt;?php
</span><span><span class="hljs-variable">$unique_id</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-string">'.'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, (</span><span><span class="hljs-keyword">string</span></span><span>)</span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"高精度唯一ID:<span class="hljs-subst">$unique_id</span></span></span><span>";
?&gt;

這種方法常用於生成日誌文件名或任務標識符,避免重複。

5 . 總結

PHP 的microtime()函數是獲取高精度時間戳的利器。通過它,你可以:

  • 精確測量代碼執行時間
  • 生成微秒級唯一標識
  • 記錄高精度日誌

結合浮點數或字符串形式的返回值,可以靈活地滿足不同場景的需求,讓你的PHP 程序在時間控制和性能分析上更加精準。