这篇文章主要介绍了PHP怎么将毫秒级时间戳转为可读时间格式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇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 . " "; echo msToTime($ms);
该代码的输出为:
1579670436322 2020-01-22 13:07:16.322