欢迎光临
我们一直在努力

PHP实现获取毫秒时间戳的方法【使用microtime()函数】

本文实例讲述了PHP实现获取毫秒时间戳的方法。分享给大家供大家参考,具体如下:

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

php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数。

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

  1. function getMillisecond() { 
  2.   list($s1$s2) = explode(' ', microtime()); 
  3.   return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000); 
  4. /* 
  5. * 获取时间差,毫秒级 
  6. */ 
  7. function get_subtraction() 
  8.   $t1 = microtime(true); 
  9.   $t2 = microtime(true); 
  10.   return (($t2$t1)*1000).'ms'
  11. /* 
  12. * microsecond 微秒   millisecond 毫秒 
  13. *返回时间戳的毫秒数部分 
  14. */ 
  15. function get_millisecond() 
  16.   list($usec$sec) = explode(" ", microtime()); 
  17.   $msec=round($usec*1000); 
  18.   return $msec
  19. /* 
  20. * 
  21. *返回字符串的毫秒数时间戳 
  22. */ 
  23. function get_total_millisecond() 
  24.   $time = explode (" ", microtime () ); 
  25.   $time = $time [1] . ($time [0] * 1000); 
  26.   $time2 = explode ( "."$time ); 
  27.   $time = $time2 [0]; 
  28.   return $time
  29. /* 
  30. * 
  31. *返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间 
  32. */ 
  33. function microtime_float() 
  34.   list($usec$sec) = explode(" ", microtime()); 
  35.   return ((float)$usec + (float)$sec); 
  36. $millisecond = get_millisecond(); 
  37. $millisecond = str_pad($millisecond,3,'0',STR_PAD_RIGHT); 
  38. echo date("YmdHis").$millisecond

运行结果:

20190301013407194

需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。

由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。

赞(0) 本模板价: 打赏
未经允许不得转载:站长分享圈 » PHP实现获取毫秒时间戳的方法【使用microtime()函数】