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:
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); //将毫秒级别时间戳转换为秒级别时间戳
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!