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

小天天天天    PHP    999+ 次    2018-04-13 21:53:43


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

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

Code:

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

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


如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: php-fpm的作用,安装,配置,使用,启动知识总结

下一篇: mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法

最新评论

小天天天天 回复:用这个毫秒级的时间戳可以计算程序执行的时间

2018-04-13 22:07:31 回复


热门文章

最新评论

网站数据

网站文章数:484

今日UV/PV/IP:2/2/2

昨日UV/PV/IP:9/10 /8

TOP