曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4070|回复: 0
打印 上一主题 下一主题

microtime() -- 返回当前 Unix 时间戳和微秒数

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-8-30 17:50:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-7-5 03:36 , Processed in 0.083087 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表