PHP Conference Japan 2024

microtime

(PHP 4, PHP 5, PHP 7, PHP 8)

microtime返回带有微秒的当前 Unix 时间戳

描述

microtime(bool $as_float = false): string|float

microtime() 返回带有微秒的当前 Unix 时间戳。此函数仅在支持 gettimeofday() 系统调用的操作系统上可用。

对于性能测量,建议使用 hrtime()

参数

as_float

如果使用并设置为 true,则 microtime() 将返回一个 float 而不是一个 string,如下面的返回值部分所述。

返回值

默认情况下,microtime() 返回一个格式为 "msec sec" 的 string,其中 sec 是自 Unix 纪元(1970 年 1 月 1 日 0:00:00 GMT)以来的秒数,而 msec 测量自 sec 以来的微秒数,也以秒为单位表示为十进制小数。

如果 as_float 设置为 true,则 microtime() 返回一个 float,表示自 Unix 纪元以来的当前时间(以秒为单位),精确到最近的微秒。

示例

示例 #1 计时脚本执行

<?php
$time_start
= microtime(true);

// 睡眠一段时间
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo
"在 $time 秒内什么也没做\n";
?>

示例 #2 microtime()REQUEST_TIME_FLOAT

<?php
// 随机化睡眠时间
usleep(mt_rand(100, 10000));

// REQUEST_TIME_FLOAT 可在 $_SERVER 超全局数组中使用。
// 它包含请求开始时的时间戳,精确到微秒。
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo
"在 $time 秒内什么也没做\n";
?>

参见

  • time() - 返回当前 Unix 时间戳
  • hrtime() - 获取系统的最高分辨率时间

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top