`execution_time()` 函数的时间错误
Wrong time for `execution_time()` function
public function execution_time($begin = null)
{
if($begin == null){
return microtime(true);
}
else {
$result = date("H:i:s", microtime(true) - $begin);
return $result;
}
}
我正在计算执行时间。
但问题是当执行时间小于 1 小时时,它会写入错误的时间戳,例如:
$timeBegin = execution_time();
sleep(8);
$time_end = execution_time($timeBegin); // it shows 06:00:08
只持续了8秒,为什么出现了6个小时?为什么会发生这种情况以及如何解决这个问题?
由于您所在的时区,您有 6 小时的时差。
date_default_timezone_set('UTC');
行,将时区设置为 UTC 并消除差异。
您需要在脚本中设置默认 timezone:
<a href="http://php.net/manual/en/function.date-default-timezone-set.php" rel="nofollow noreferrer">date_default_timezone_set</a>
这是工作示例
public function execution_time($begin = null)
{
if($begin == null){
return microtime(true);
}
else {
$result = date("H:i:s", microtime(true) - $begin);
return $result;
}
}
我正在计算执行时间。 但问题是当执行时间小于 1 小时时,它会写入错误的时间戳,例如:
$timeBegin = execution_time();
sleep(8);
$time_end = execution_time($timeBegin); // it shows 06:00:08
只持续了8秒,为什么出现了6个小时?为什么会发生这种情况以及如何解决这个问题?
由于您所在的时区,您有 6 小时的时差。
date_default_timezone_set('UTC');
行,将时区设置为 UTC 并消除差异。
您需要在脚本中设置默认 timezone:
<a href="http://php.net/manual/en/function.date-default-timezone-set.php" rel="nofollow noreferrer">date_default_timezone_set</a>
这是工作示例