找出时间与减去整数

时间:2016-07-22 19:32:42

标签: php mysql

目前我正在创建一个包含时间表信息的表,我正在尝试显示工作时间减去休息时间。我想知道是否有办法找到开始时间和结束时间之间的时间差,然后减去休息时间。我现在唯一的问题是中断存储为中断的分钟数的整数。有没有办法做事情而不必将休息存储为时间值?

这是我必须显示开始和结束之间工作小时数的代码:

<?php while($row = $approvedTimes->fetch()){ ?>
    <tr>
      <td><?php echo $row['userFirst'] . " ". $row['userLast'];  ?></td>
      <td><?php echo $row['companyName'];  ?></td>
      <td><?php echo date('Y-M-d',strtotime($row['timeDate']));  ?></td>
      <td><?php echo date("h:i a",strtotime($row['timeStart'])); $start = new DateTime($row['timeStart']);  ?></td>
      <td><?php echo date("h:i a",strtotime($row['timeEnd'])); $end = new DateTime($row['timeEnd'] );  ?></td>
      <td><?php echo $row['timeBreak'] . " Min."; $break = $row['timeBreak']; ?></td>
      <td><?php $hours = $start->diff($end); echo $hours->format('%h hours %i min.'); ?></td>
    </tr>
    <?php } ?>

1 个答案:

答案 0 :(得分:3)

strtotime()返回一个unix时间戳(自1970年1月1日起的秒数),因此数学很简单:

$seconds_worked = strtotime($end) - strtotime($start) - ($break_in_minutes * 60);

从那里你可以相对容易地转换成h / m / s。