Home  >  Article  >  Backend Development  >  Let’s talk about php timestamp millisecond conversion

Let’s talk about php timestamp millisecond conversion

PHPz
PHPzOriginal
2023-03-29 10:12:012252browse

With the development of the Internet, the application of php language is becoming more and more widespread. When writing PHP programs, time processing often involves timestamp conversion. This article will introduce how to convert millisecond-level timestamps into normal date and time format.

1. What is a timestamp?

A timestamp refers to the total number of seconds from 0:00:00 on January 1, 1970, Greenwich Mean Time to the present. In Unix, Linux, PHP and other environments, timestamp calculations are generally expressed in the form of UTC (Universal Coordinated Time).

In php, we can get the current timestamp by calling the function time():

echo time(); // 输出当前时间戳,类似于1600685641

2. Millisecond-level timestamp

Sometimes, we need To obtain a more precise time, you need to use millisecond-level timestamps. Millisecond-level timestamps are calculated in basically the same way as ordinary timestamps, but with higher precision. You can use the microtime() function to get the current millisecond-level timestamp.

list($t1,$t2) = explode(' ',microtime()); 
echo $t2.ceil($t1*1000); // 输出类似于1609241937227

3. Convert millisecond-level timestamps to date and time format

In PHP, we can use the date() function to convert timestamps to date and time format. However, the date() function can only handle ordinary timestamps and cannot directly handle millisecond-level timestamps. In order to convert the millisecond-level timestamp to date and time format, we need to convert the millisecond-level timestamp to an ordinary timestamp first.

Assume we have obtained a millisecond level timestamp: 1609241937227, we can follow the following steps to convert it to date and time format:

  1. Millisecond level conversion to second level

Since the date() function cannot handle millisecond-level timestamps, we need to convert millisecond-level timestamps to second-level timestamps first. You can use the following code to convert millisecond-level timestamps to second-level timestamps:

$timestamp = 1609241937227; //假设该值为获取到的毫秒级别时间戳
$timestamp = floor($timestamp/1000); //将毫秒级别时间戳转换为秒级别时间戳
  1. Convert second-level timestamps to date and time format

Elapsed In the above steps, we have converted millisecond-level timestamps into second-level timestamps. Next, we can use the date() function to convert the second-level timestamp into the date and time format we need.

$timestamp = 1609241937; //假设该值为获取到的毫秒级别时间戳
$date_time = date('Y-m-d H:i:s',$timestamp); //将秒级别时间戳转换为日期时间格式
echo $date_time; // 输出类似于2020-12-29 10:45:37

4. Complete code

The complete code for converting millisecond-level timestamps into date and time format is as follows:

function timestamp_to_date($timestamp) {
    $timestamp = floor($timestamp/1000);
    return date('Y-m-d H:i:s',$timestamp);
}

// 示例
$timestamp = 1609241937227;
$date_time = timestamp_to_date($timestamp);
echo $date_time; // 输出类似于2020-12-29 10:45:37

Summary

In php , timestamp processing is a very common operation. This article describes how to convert millisecond-level timestamps into date-time format. The millisecond-level timestamp needs to be converted into a second-level timestamp, and then the date() function is used to convert it into date and time format. In addition, readers can also make corresponding changes according to their own needs.

The above is the detailed content of Let’s talk about php timestamp millisecond conversion. 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