Home >Backend Development >PHP Problem >How to convert millisecond timestamp to readable time format in PHP

How to convert millisecond timestamp to readable time format in PHP

PHPz
PHPzOriginal
2023-03-29 15:42:131169browse

In PHP, we often need to convert timestamps into date and time formats that people can understand. Usually, we use the date() function to convert the timestamp into a readable time format. However, in some cases, we need to convert millisecond-level timestamps into a human-readable format. Especially when developing high-concurrency systems, the application of millisecond-level timestamps is becoming more and more common. This article will introduce how to convert millisecond timestamps in PHP into a readable time format.

1. Obtaining millisecond timestamps in PHP

There are many ways to obtain millisecond timestamps in PHP, one of the more common methods is to use microtime() The function obtains the millisecond timestamp, and the time returned is a floating point number in "seconds.milliseconds". Therefore, we need to process the return value to obtain the complete millisecond timestamp.

Code example:

function getMillisecond() {
    list($t1, $t2) = explode(' ', microtime());
    return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
}

This code returns the current time in seconds.milliseconds format and converts it into a complete millisecond-level timestamp.

2. Convert millisecond timestamp to date and time

With the millisecond timestamp, we can convert it into a date and time in a readable format. In PHP, we can format dates using the date() function along with a timestamp in milliseconds (or timestamp in seconds).

Code example:

function msToTime($ms) {
    $sec = intval($ms/1000);
    $ms = $ms%1000;
    return date('Y-m-d H:i:s', time()-$sec).sprintf('.%03d', $ms);
}

This function converts the millisecond timestamp into a human-readable date and time format. Among them, we first convert the millisecond-level timestamp into a second-level timestamp, then use the date() function to format the timestamp, and add the microsecond part to the output result.

3. Complete code example

The following is a complete sample code that converts millisecond-level timestamps into readable date and time formats.

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);

The output of this code is:

1579670436322
2020-01-22 13:07:16.322

This article describes how to convert millisecond timestamps in PHP into a readable date and time format. Obtain the millisecond timestamp through the microtime() function, and convert it into a readable format using the date() function. In practical applications, this technology can be used to develop high-concurrency systems and track request response times and other functions.

The above is the detailed content of How to convert millisecond timestamp to readable time format in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn