【毫秒级】时间

<?PHP

/*

 * Created on 2018-03-12  毫秒级时间

 * Programmer : andy

 * Develop a project PHP - MySQL - Apache

 */

namespace Common\Model;

 

class MsecTimeModel

{

    /**

     * desc 返回当前的毫秒时间戳

     */

    function getMsectime() {

        list($msec, $sec) = explode(' ', microtime());

        $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000000);

        return $msectime;

 

    }

    /**

     *desc 时间戳 转   日期格式 : 精确到毫秒,x代表毫秒

     */

    function getMicrotimeFormat($time)

    {

        $time=$time*0.000001;

        if(strstr($time,'.')){

            sprintf("%01.6f",$time); //小数点。不足6位补0

            list($usec, $sec) = explode(".",$time);

            $sec = str_pad($sec,6,"0",STR_PAD_RIGHT); //不足6位。右边补0

        }else{

            $usec = $time;

            $sec = "000000";

        }

        $date = date("Y-m-d H:i:s.x",$usec);

        return str_replace('x', $sec, $date);

    }

 

    /**

     * @desc 时间日期转时间戳格式,精确到毫秒

     */

    function getDataFormat($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;

    }

    /**

     *desc 获取当前时间 精确到秒

     */

    function getCurrenMsecTime()

    {

        return $this->getMicrotimeFormat($this->getMsectime());

    }

    /**

     *desc 时间毫秒级改为到秒

     */

    function getTimeByMsecTime($MsecTime)

    {

        $time=strtotime($MsecTime);

        if(empty($MsecTime) or $MsecTime==null or $time==0)

            return '0000-00-00 00:00:00';

        return date('Y-m-d H:i:s',$time);

    }

}

?>

 

posted @ 2018-04-01 20:44  飞鹰学习  阅读(292)  评论(0编辑  收藏  举报