在 PHP 中,我們常常需要將時間戳記轉換成人們可以理解的日期時間格式。通常,我們使用 date()
函數來將時間戳記轉換為可讀的時間格式。但是,在某些情況下,我們需要將毫秒級時間戳轉換為人們可讀的格式,特別是在開發高並發系統時,毫秒級時間戳的應用變得越來越普遍。本文將介紹如何將 PHP 中的毫秒時間戳轉換為可讀的時間格式。
一、PHP 中毫秒時間戳記的獲取
在PHP 中取得毫秒時間戳記有許多種方法,其中一種比較通用的方法是使用microtime()
函數取得毫秒時間戳,其傳回的時間是以「秒.毫秒」為單位的浮點數。因此,我們需要對返回值進行處理,以獲取完整的毫秒級時間戳記。
程式碼範例:
function getMillisecond() { list($t1, $t2) = explode(' ', microtime()); return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000); }
這段程式碼將當前時間以秒.毫秒的格式進行傳回,並將其轉換為完整的毫秒級時間戳記。
二、毫秒時間戳轉換為日期時間
有了毫秒時間戳,我們就可以將其轉換為可讀格式的日期時間。在 PHP 中,我們可以使用 date()
函數以及毫秒時間戳記(或以秒計算的時間戳記)來格式化日期。
程式碼範例:
function msToTime($ms) { $sec = intval($ms/1000); $ms = $ms%1000; return date('Y-m-d H:i:s', time()-$sec).sprintf('.%03d', $ms); }
此函數將毫秒時間戳記轉換為人們可讀的日期時間格式。其中,我們首先將毫秒時間戳記轉換為秒級時間戳,然後使用 date()
函數格式化時間戳,並將微秒部分加入輸出結果中。
三、完整程式碼實例
下面是一個完整的範例程式碼,將毫秒時間戳記轉換為可讀的日期時間格式。
function getMillisecond() { list($t1, $t2) = explode(' ', microtime()); return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000); } function msToTime($ms) { $sec = intval($ms/1000); $ms = $ms%1000; return date('Y-m-d H:i:s', time()-$sec).sprintf('.%03d', $ms); } $ms = getMillisecond(); echo $ms . "\n"; echo msToTime($ms);
程式碼的輸出為:
1579670436322 2020-01-22 13:07:16.322
本文介紹如何將 PHP 中的毫秒時間戳記轉換為可讀的日期時間格式。透過 microtime()
函數取得毫秒時間戳,並使用 date()
函數將其轉換為可讀格式。在實際應用中,該技術可用於開發高並發系統中,追蹤請求回應時間等功能。
以上是PHP如何將毫秒時間戳記為可讀時間格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!