【PHP】 毫秒級時間戳和日期格式轉換


在並發量搞得情況下。需要開啟毫秒級運算

mysql  支持: 

`create_time` datetime(3) DEFAULT NULL COMMENT '創建時間',

效果

 

 PHP 代碼實現: 

<?php

    $a =  get_msectime();
    $b = get_microtime_format($a*0.001);
    $c = get_data_format($b);


    echo $a;
    echo "<pre>";
    echo $b;
    echo "<pre>";
    echo $c;



    //返回當前的毫秒時間戳
    function get_msectime() {
        list($msec, $sec) = explode(' ', microtime());
        $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
        return $msectime;
 
     }
     
     /** 
      *時間戳 轉   日期格式 : 精確到毫秒,x代表毫秒
      */
     function get_microtime_format($time)
     {  
        if(strstr($time,'.')){
            sprintf("%01.3f",$time); //小數點。不足三位補0
            list($usec, $sec) = explode(".",$time);
            $sec = str_pad($sec,3,"0",STR_PAD_RIGHT); //不足3位。右邊補0
        }else{
            $usec = $time;
            $sec = "000"; 
        }
        $date = date("Y-m-d H:i:s.x",$usec);
        return str_replace('x', $sec, $date);
     }

      /** 時間日期轉時間戳格式,精確到毫秒,
      *     
      */
     function get_data_format($time)
     {
        list($usec, $sec) = explode(".", $time);
        $date = strtotime($usec);
        $return_data = str_pad($date.$sec,13,"0",STR_PAD_RIGHT); //不足13位。右邊補0
        return $return_data;
     }

 

 效果: 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM