PHP Time Арифметика - PullRequest
       1

PHP Time Арифметика

1 голос
/ 07 июля 2011

У меня есть два раза в моей базе данных:

$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');

и это прекрасно работает ... но я не могу найти способ добавить их ... какие-нибудь идеи?

Привет

1 Ответ

1 голос
/ 07 июля 2011

DateTime::add().На самом деле не имеет смысла добавлять две даты, поэтому вы не можете трактовать $time2 как DateTime, чтобы добавить его к time1.Обычно вы говорите что-то вроде 01.04. + 2 days, но не 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);

(не проверено)

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