php获取毫秒级别时间戳及转换日期

技术博客 / 6541人浏览 / 0人评论

代码如下:
`public function index()
{

$msectime = $this->getMsecTime();
$mescdate = $this->getMsecToMescdate($msectime);
$msectime2 = $this->getDateToMesc($mescdate);
echo $msectime."<br />";
echo $mescdate."<br />";
echo $msectime2."<br />";

}

/**

  • 获取毫秒级别的时间戳

*/
public function getMsecTime()
{

list($msec, $sec) = explode(' ', microtime());
$msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
return $msectime;

}

/**

  • 毫秒转日期

*/
public function getMsecToMescdate($msectime)
{

$msectime = $msectime * 0.001;
if(strstr($msectime,'.')){
    sprintf("%01.3f",$msectime);
    list($usec, $sec) = explode(".",$msectime);
    $sec = str_pad($sec,3,"0",STR_PAD_RIGHT);
}else{
    $usec = $msectime;
    $sec = "000";
}
$date = date("Y-m-d H:i:s.x",$usec);
return $mescdate = str_replace('x', $sec, $date);

}

/**

  • 日期转毫秒

*/
public function getDateToMesc($mescdate)
{

list($usec, $sec) = explode(".", $mescdate);
$date = strtotime($usec);
$return_data = str_pad($date.$sec,13,"0",STR_PAD_RIGHT);
return $msectime = $return_data;

}`

效果如下:
image.png

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我