Добавление двух рассчитанных раз вместе в PHP - PullRequest
0 голосов
/ 29 апреля 2019

Мне нужна помощь, я уже рассчитывал время для еженедельного расписания на PHP, а не мой вопрос; Можно ли добавить все это вместе?

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

$time = "18 hours 13 minutes";
$time2 = "47 minutes";
$time3 = "1 hour";
$time4 = "1 hour";
$time5 = "1 hour";
$time6 = "";
$time7 = "";

$max_date=abs(strtotime($time) + strtotime($time2) + strtotime($time3) + strtotime($time4) + strtotime($time5) + strtotime($time6) + strtotime($time7));

Таким образом, всего должно быть 22 часа.

Вот если это возможно?

1 Ответ

2 голосов
/ 29 апреля 2019

Вы можете сделать это, используя DateTime объекты. Мы создаем два идентичных объекта, используя текущее время, затем мы используем метод modify, чтобы добавить каждую переменную времени к одной из них. Затем мы можем взять разницу между двумя объектами (создать объект DateInterval) и вывести значение этого значения в том же формате в качестве входных данных:

$start = new DateTime();
$end = clone($start);

if (!empty($time)) $end->modify("+$time");
if (!empty($time2)) $end->modify("+$time2");
if (!empty($time3)) $end->modify("+$time3");
if (!empty($time4)) $end->modify("+$time4");
if (!empty($time5)) $end->modify("+$time5");
if (!empty($time6)) $end->modify("+$time6");
if (!empty($time7)) $end->modify("+$time7");

$total = $end->diff($start);
echo $total->format('%h hours %i minutes');

Выход:

22 hours 0 minutes

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...