php中的时差给了我奇怪的小时数
我的代码是php中的时差给了我奇怪的小时数,php,time,datetime-format,Php,Time,Datetime Format,我的代码是 $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&
$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>";
知道为什么小时数不是0吗?我认为在计算日期差异时应该使用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分钟我认为在计算日期差异时应该使用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\u time,以给出运行脚本所需的秒数。如果您将它传递到date,那么它将给出Unix纪元后143秒的日期。将日期格式设置为“Y/m/d G:i:s”,以准确查看那里发生了什么。不同之处应该是time()-$start\u time,以给出运行脚本所需的秒数。如果您将它传递到date,那么它将给出Unix纪元后143秒的日期。将日期格式设置为“Y/m/d G:i:s”,以准确查看那里发生了什么。您是否尝试过为脚本显式设置时区
date_default_timezone_set('UTC');
您是否尝试过为脚本显式设置时区
date_default_timezone_set('UTC');
你能解释一下为什么这样有帮助吗?:-)我不确定,但我猜date()会转换为localtime,time()会以UTC返回时间-PHP文档不清楚发生了什么。你能解释一下为什么会有帮助吗?:-)我不确定,但我猜date()转换为localtime,time()返回UTC时间-PHP文档不清楚发生了什么。可能因为时区不同,它对我不起作用?我的解决方案是添加
date\u default\u timezone\u set('UTC')代码>到我当前的代码。可能因为时区不同,它对我不起作用?我的解决方案是添加date\u default\u timezone\u set('UTC')代码>到我的当前代码。