代码为
$start_time= time();
echo "<BR><BR>";
echo "start: ".date("G:i:s",$start_time);echo "<BR>";
echo "now: ".date("G:i:s",time());echo "<BR>";
echo "difference: ".date("G:i:s",time()-$start_time);echo "<BR>";
echo "<BR><BR>";
echo time()-$start_time;
echo "<BR><BR>";
,输出为
start: 12:03:41
now: 12:06:04
difference: 10:02:23
143
知道为什么小时数不是0吗?
您是否尝试过显式地为脚本设置时区?
date_default_timezone_set('UTC');
我认为在计算日期差异时应该使用unix时间戳。
见下文
$start_time= date("U", time());
sleep(5); //stops execution for 5 seconds
$endtime = date("U",time());
echo date("G:i:s",$endtime - $start_time); //Outputs 0:00:05
或者类似的东西来表示实际的日期/时间差异
$start_time= date("U", strtotime("11/11/11 12:53"));
$endtime = date("U",strtotime("11/11/11 12:59"));
echo date("G:i:s",$endtime - $start_time);
输出0:06:00
6分钟
差值应该是time() - $start_time,表示运行脚本所需的秒数。如果将其传递给date,那么它将给出Unix Epoch之后143秒的日期。设置日期格式为"Y/m/d G:i:s",以便查看具体情况。