Форматирование кратких дней / часов в «рабочие часы и дни»

#php #time #format #date

#php #время #формат #Дата

Вопрос:

Я создаю систему цитирования, и мне нужен способ превратить

1 days, 15 hours туда 2 days, 7 hours , где каждый день содержит 8 часов.

У меня есть доступ как к переменным days, так и к hours, поэтому функция может быть

 function formatWorkHours($days, $hours){

}
  

Кто-нибудь может мне помочь с этим, пожалуйста? Другие примеры могут быть 1 days, 26 hours .

Спасибо!

Комментарии:

1. Должны ли дни также быть преобразованы? В этом случае правильный результат для 1 days, 15 hours обычного времени равен 4 days, 7 hours рабочему времени.

2. Извините, 1 день, 15 часов — это всего 2 дня 7 часов? Не уверен, откуда у вас 4 дня.

3. Ну, если вы считаете, что день в обычное время составляет 24 часа, один день равен 3 рабочим дням. Но я предполагаю, что это не относится к вашей проблеме, поскольку вы приняли ответ.

4. ах да, я понимаю, что вы имеете в виду.

Ответ №1:

Что-то вроде этого должно сработать:

 function formatWorkHours($days, $hours){
    $days  = floor( $hours / 8 );
    $hours = $hours % 8;
    echo "$days days, $hours hours";
}

formatWorkHours( 1, 15 ); //echoes "2 days, 7 hours"
formatWorkHours( 1, 26 ); //echoes "4 days, 2 hours"
  

Комментарии:

1. Работает отлично. Кроме того, я вижу, как это работает. Спасибо.