@Dealaxer

PHP Как сложить две конкретные даты времени DateTime?

Приветствую всех!

Смотрю примеры DateTime, либо плохо смотрю, либо там нет этого, но не могу найти решения для сложения двух конкретных дат времени, например: 10:55:00 + 05:35:00.

Имеем:
Первое значение времени (Отдельно через ECHO выводится отлично):
$counttimeback->format("%H:%I:%S")
Второе значение времени (Отдельно через ECHO выводится отлично):
$counttimethere->format("%H:%I:%S")

Пытаюсь суммировать таким способом:
$fulltime = $counttimeback->format("%H:%I:%S") + $counttimethere->format("%H:%I:%S");
//вывод
echo $fulltime->format("%H:%I:%S");

Ничего не выходит.

Подскажите как суммировать два времени?

Заранее благодарю.
  • Вопрос задан
  • 2486 просмотров
Решения вопроса 1
@Dealaxer Автор вопроса
Мое решение, которое мне и нужно было:
$time = new DateTime('00:00:00');
$fulltime = clone $time;
$time->add($counttimethere);
$time->add($counttimeback);
											
echo 'Общее время:' . $fulltime->diff($time)->format("%H:%I:%S");


DateTime геммор полнейший, почему нет простого + или -?!
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Denormalization
@Denormalization
>Подскажите как суммировать два времени
Алгоритм:
1) Вычисляем разницу в секундах\минутах\годах между временем
2) К первому времени добавляем разницу
3) ???
4) Profit!
Ответ написан
Комментировать
donflash
@donflash
$d1 = new \DateTime('2016-08-22 10:55:00');
$d1->add(new \DateInterval('PT5H35M'));

var_dump($d1);


object(DateTime)#1 (3) {
["date"]=>
string(26) "2016-08-22 16:30:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Moscow"
}
Ответ написан
Комментировать
AlexanderShapoval
@AlexanderShapoval
PHP maker
А еще есть Carbon . Но это уже тот случай когда "просто сложить две даты" становится мало
carbon.nesbot.com/docs
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы