microtime() -- 返回当前 Unix 时间戳和微秒数
语法格式:
[PHP] 纯文本查看 复制代码 mixed microtime ([ bool $get_as_float = false ] )
microtime() 函数可以带参数,也可以不带参数。当不带参数时,返回 "msec sec" 格式时间,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒时间;因为函数先获得的是秒,然后去获取微秒,在两次获取的动作的时间间隔就是 msec 。
microtime() 也可以带参数,当参数为 false 时,它返回的是一个浮点数,该浮点数就是上述 sec 和 msec 的整合形式,即 sec.msec 。
示例一:
[PHP] 纯文本查看 复制代码 <?php
echo(microtime());
echo "<br>";
echo(microtime(true));
?>
运行输出:0.43923700 1314697268
1314697268.4393
示例二:
[PHP] 纯文本查看 复制代码 <?php
$sleep_second = 1;
if( isset( $argv[1] ) ) {
if (preg_match('/\d/',$argv[1]) )
$sleep_second = $argv[1];
}
$time_start = microtime(true) * pow(10,6);
for($i=$sleep_second; $i>0; $i-- ) {
echo $i . " ";
sleep(1);
}
echo "\n";
echo "sleep time = " . (microtime(true)*pow(10,6)-$time_start) . " micro time\n";
?>
运行输出:C:\\php.exe sleep.php 3
3 2 1
sleep time = 3000579 micro time 上面的 pow() 是计算次方值的函数。该程序在调试状态下,直接在 Windows 里用 php.exe 来运行脚本,该脚本可以接收命令行参数(如上面的 3),该参数被 $argv[1] 环境变量所接收。
上面例子中,意图睡眠 3 秒,每秒打印 1 次倒计时,最后输出总的逝去时间,由输出可以看出,逝去时间 3000579 并不会精确的等于 3000000 。 |