日常开发php常用的sleep()
及time()
都只支持秒级单位,部分场景需要用到毫秒级的时间戳或定时器就比较淡疼了,在翻阅百度后总结一下:
/**
* 获取当前毫秒级时间戳
*/
function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}
$startTime = getMillisecond();
usleep(1000 * 500); //微秒级定时器,一微秒等于百万分之一秒(1000*1000)
$endTime = getMillisecond();
var_dump("运行时间 => " . ($endTime - $startTime) . "ms");
运行输出结果:
demo.php:18:string '运行时间 => 501ms' (length=19)
亲测有效~