【发布时间】:2014-01-30 15:30:00
【问题描述】:
我有两个日期,我想知道它们之间的时间。
我试试这个:
$created_dt="2014-01-30 09:27:02";
$done_dt="2014-01-30 16:29:38";
$created_dt=strtotime($created_dt); //1391066822
$done_dt=strtotime($done_dt); //1391092178
$runing_time= $created_dt-$done_dt; //25356
$runing_time= date('H:i',$runing_time);
echo $runing_time; // "09:02" <----------???????
为什么 $runing_time = 09:02 ???
有什么好的方法可以解决这个问题?
谢谢
第 2 部分
我怎样才能把几个 $intervals 加在一起?然后得到他们的平均值?
我试试:
$average_time;
foreach($tasks as $task)
{
$date1 = new DateTime($task['start']);
$date2 = new DateTime($task['end']);
$interval = $date1->diff($date2);
$runing_time=$interval->format("%h hours, %i minutes, %s seconds");
$average_time+=$interval ;
}
$final_average_time=average_time/4;
显然我的代码不起作用,因为 $interval 是一个对象。
【问题讨论】:
-
请使用php函数date_diff()php.net/manual/en/datetime.diff.php
-
你在使用什么数据库,mysql?
-
因为你是在问它在你的时区在 unix 时间戳
25356上的几小时和几分钟,这与 to 时间之间的秒数差异无关。