获取毫秒时间戳

time.php:

<?php
abstract class Millisecond {

    private $defaultDigit;

    public function __construct($_digit = 4)
    {
        $this->defaultDigit = $_digit;
    }

    /* 
     * 
     * @param $digit 毫秒的位数,0表示不使用毫秒
     */  
    final function get_time()  
    {
        $counter = $this->defaultDigit;
        if(!$counter) return time();

        if ($counter != 3) {
            $tmp_time = 10;
            while(--$counter) {
                $tmp_time *= 10;
            }
        } else {
            $tmp_time = 1000;
        }

        $time = explode (" ", microtime());
        $time = $time[1] . ($time[0] * $tmp_time);   
        $time = explode ( ".", $time );   
        $time = $time[0];

        return $time;  
    }

    /**
     * 计算时间位数
     * @param  [type] $time [description]
     * @return [type]       [description]
     */
    final function calcDigit($time)
    {
        return strlen($time);
    }

    /**
     * 根据指定位数,判断是否可以使用
     * @param  [type]  $digit [description]
     * @return boolean        [description]
     */
    final function isOutput($digit)
    {
        if(($this->defaultDigit + 10) == $digit) return true;
        else return false;
    }

    /**
     * 获取时间戳
     * @param  [type] $count [description]
     * @return [type]        [description]
     */
    abstract function getMillisecond();
}

mytime.php:

<?php
require "./time.php";

class MyTime extends Millisecond{

    public function __construct($_digit = 5)
    {
        parent::__construct($_digit);
    }

    public function getMillisecond(){
        $time = $this->get_time();
        if ($this->isOutput($this->calcDigit($time))) {
            return $time;
        } else {
            return $this->getMillisecond();
        }
    }
}

$mytime = new MyTime();

echo $mytime->getMillisecond();
原文地址:https://www.cnblogs.com/hfultrastrong/p/6743720.html