【发布时间】:2016-07-25 15:09:53
【问题描述】:
我在获取工作时间以显示正确的工作时间时遇到了一点问题。
这是我正在使用的代码:
<?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 = $row['timeStart']; ?></td>
<td><?php echo date("h:i a",strtotime($row['timeEnd'])); $end = $row['timeEnd'] ; ?></td>
<td><?php echo $row['timeBreak'] . " min."; $break = $row['timeBreak']; ?></td>
<td><?php $hours = strtotime($end) - strtotime($start) -($break*60) ; echo number_format($hours/3600,2, '.', '') . " hours"; ?></td>
</tr>
<?php } ?>
如果您注意到第二条记录输出 -17.50 小时,但工作小时数应为 6.5 小时。我认为问题在于它以秒为单位显示两次,但我不确定如何更改它以根据开始和结束时间显示正确的工作时间。
这是我输出的表格:
【问题讨论】:
-
您必须为 strtotime() 提供完整的日期/时间。如果省略日期,则假定为“今天”。下午 5:30 是上午 12:30 之后,所以我假设他在第二天结束
标签: php