首頁 >後端開發 >PHP問題 >PHP如何將毫秒時間戳記為可讀時間格式

PHP如何將毫秒時間戳記為可讀時間格式

PHPz
PHPz原創
2023-03-29 15:42:131166瀏覽

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn