PHP获取毫秒时间戳,利用microtime()函数

来源:互联网 发布:2012nba总决赛球员数据 编辑:程序博客网 时间:2024/05/22 08:03

php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数。
php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如:

function getMillisecond() {     list($s1, $s2) = explode(' ', microtime());     return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000); }/*      * 获取时间差,毫秒级      */            function get_subtraction()      {              $t1 = microtime(true);              $t2 = microtime(true);              return (($t2-$1)*1000).'ms';      }        /*      * microsecond 微秒     millisecond 毫秒      *返回时间戳的毫秒数部分      */      function get_millisecond()      {              list($usec, $sec) = explode(" ", microtime());              $msec=round($usec*1000);              return $msec;                     }             /*      *      *返回字符串的毫秒数时间戳      */      function get_total_millisecond()      {              $time = explode (" ", microtime () );               $time = $time [1] . ($time [0] * 1000);               $time2 = explode ( ".", $time );               $time = $time2 [0];              return $time;      }            /*      *      *返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间      */             function microtime_float()      {          list($usec, $sec) = explode(" ", microtime());          return ((float)$usec + (float)$sec);      }        $millisecond = get_millisecond();    $millisecond = str_pad($millisecond,3,'0',STR_PAD_RIGHT);    echo date("YmdHis").$millisecond;

需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。


原创粉丝点击