2016-07-22 1 views
-2

В настоящее время я создаю таблицу, в которой хранится информация о расписании, я пытаюсь отобразить количество времени, затраченного минусом перерыва. Мне было интересно, есть ли способ найти разницу во времени между временем начала и временем окончания, а затем минус количество времени перерыва. Единственная проблема, с которой я столкнулся сейчас, - это разрыв, который хранится как целое число минут перерыва. Есть ли способ делать вещи, не имея необходимости хранить разрыв в качестве значения времени?Найдите разницу между временем и минусом целое число

Это код, который я должен отображать количество отработанных часов между началом и концом:

<?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 } ?> 
+0

У вас уже есть ответ здесь http://stackoverflow.com/questions/5463549/subtract-time-in-php –

ответ

3

strtotime() возвращает метку времени Unix (секунды с января 1/1970), так что математика проста:

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

Оттуда вы можете легко и быстро конвертировать в h/m/s.

Смежные вопросы