0

嗨,我有一个数据库,其中包含访问者查看过的页面以及他们登陆该页面的时间。我想要做的是花费访问者查看页面 A 的时间,然后是访问者查看页面 b 的时间,然后从 B 中减去 A 以获得访问者在该页面上停留的时间。

目前,在我的示例中,差异为 2 秒,但结果返回为零,这是因为 2 秒是一个小数字,结果被四舍五入吗?

这是我的代码。

$a = new DateTime('09:14:52');
$b = new DateTime('09:14:54');
$interval = $a->diff($b);

echo $interval->format("%H");

谢谢

4

3 回答 3

0
<?php
$a = strtotime('09:14:52');
$b = strtotime('09:14:54');
$interval = $b-$a;

echo $interval. " Seconds";
?>

而且您自己的代码也是正确的,只是该格式标签适用HOUR于 a 而非 a SECOND。尝试

<?php

$a = new DateTime('09:14:52');
$b = new DateTime('09:14:54');
$interval = $a->diff($b);

echo $interval->format("%s");

?>
于 2013-05-20T08:30:56.623 回答
0

为什么不直接在日期上使用 strtotime?

echo  strtotime('09:14:54') - strtotime('09:14:52') . ' Seconds';

这将输出

2 Seconds
于 2013-05-20T08:33:29.850 回答
0
date_default_timezone_set('America/Los_Angeles');// you should define a default time zone
$a = new DateTime('09:14:52');
$b = new DateTime('09:14:54');
$interval = $a->diff($b);

echo $interval->format("%s");
于 2013-05-20T08:41:11.527 回答