Php 计算事件发生当天的几秒钟

Php 计算事件发生当天的几秒钟,php,Php,我编写了一些代码,但似乎效率很低。我在画布上画圆圈,以显示工作日发生的事件。为此,我找到发生这种情况的一天的秒数,然后将其转换为分钟来显示 我的问题是,为什么我必须去strottimedate“…”,strottimetime并给strottime打两次电话 当我像strottimedate'Y-m-d'一样使用它的时候,我会得到一个负值 <?php $time_concerned = '2014-10-31 02:00:00'; $start_day_temp = strtotime(

我编写了一些代码,但似乎效率很低。我在画布上画圆圈,以显示工作日发生的事件。为此,我找到发生这种情况的一天的秒数,然后将其转换为分钟来显示

我的问题是,为什么我必须去strottimedate“…”,strottimetime并给strottime打两次电话

当我像strottimedate'Y-m-d'一样使用它的时候,我会得到一个负值

<?php
$time_concerned = '2014-10-31 02:00:00';

$start_day_temp = strtotime(date('Y-m-d',strtotime($time_concerned)));
$end_day_temp = strtotime(date('Y-m-d H:i',strtotime($time_concerned)));
$num_seconds = $end_day_temp - $start_day_temp;
//divide by 60 to get minutes.  divide in half to make fit on 720 scale.
$num_conv_minutes = (($num_seconds/60)/2);

echo '  ctx.fillStyle = "#00FF00";';
echo '  ctx.beginPath();';
echo '  ctx.arc('.$num_conv_minutes.'+ x_inbound,y_truck_arrivals,5,0,2*Math.PI);';
echo '  ctx.fill();';
echo '  ctx.stroke();';
?>
试试这个

这些几乎是一样的东西。它们不同的唯一原因是,当您将字符串转换为日期时,您将删除第二分钟和第二小时,因此PHP将其设置为午夜,而您将丢失告诉您在凌晨2点完成所有操作的部分

这在您第一次使用它时非常有用,因为您需要从另一个时间戳中减去午夜的时间戳。然而,第二次它只是多余的

下面是你如何做到的

$time_concerned = '2014-10-31 02:00:00';
$start_day_temp = strtotime(date('Y-m-d',strtotime($time_concerned)));
$end_day_temp = strtotime($time_concerned);

谢谢这会让它干净一点。我想没有办法避免重复使用strotime来找到一天的开始。有其他方法可以做到这一点,但这种方法可能是最快的。
$time_concerned = '2014-10-31 02:00:00';
$start_day_temp = strtotime(date('Y-m-d',strtotime($time_concerned)));
$end_day_temp = strtotime($time_concerned);