PHP 5 >= 5.0.0, PHP 7, PHP 8
time_sleep_until() 函数使当前脚本暂停执行,直到指定的时间点为止。它接受一个时间戳参数,表示暂停结束的绝对时间,脚本会一直休眠直到该时间点。
bool time_sleep_until(float $timestamp)
成功时返回 TRUE,失败时返回 FALSE(例如,如果指定的时间戳已经是过去的时间,函数会立即返回 FALSE)。
下面的示例代码会让脚本休眠直到当前时间之后的 5 秒:
示例代码:
<?php
$target_time = microtime(true) + 5;
echo "开始休眠,直到 " . date('H:i:s', (int)$target_time) . "
";
time_sleep_until($target_time);
echo "休眠结束,当前时间:" . date('H:i:s') . "
";
?>
代码首先计算目标时间点,使用当前精确时间(microtime(true) 返回当前 Unix 时间戳的浮点数形式)加上 5 秒。然后调用 time_sleep_until() 让脚本暂停直到这个时间点。最后输出休眠结束时的时间,验证休眠效果。