У меня два раза в моей базе данных:
$time1 = "02:00:03"; $time2 = "04:00:04";
и я хочу добавить их $time1 + $time2
что лучший способ сделать это?
У меня нет проблем с причиной различия, я могу сделать что-то вроде этого:
$end = new DateTime($this->hora_final); $start = new DateTime($this->hora_inicio); $diff = $end->diff($start); $diff->format('%H:%I:%S');
и он отлично работает … но я не могу найти способ добавить их … любые идеи?
С уважением
DateTime::add()
. На самом деле не имеет смысла добавлять две даты, поэтому вы не можете обрабатывать $time2
как DateTime
, чтобы добавить ее в time1
. Обычно вы говорите что-то вроде 01.04. + 2 days
01.04. + 2 days
, но не 01.04. + 02.00
01.04. + 02.00
. Метод принимает объект типа DateInterval
. Чтобы создать его, я предлагаю использовать что-то вроде
list($hour, $min, $second) = explode(':', $time2); $interval = new DateInterval("PT{$hour}H{$min}M{$second}S");
Теперь вы можете добавить интервал к дате
$x = new DateTime($time1); $y = $x->add($interval);
(Непроверенные)