Какой самый чистый способ добавить дату и строку времени в PHP?
Хотя и прочитал, что DateTime::add
ожидает DateInterval
, я пытался
$date = new \DateTime('17.03.2016');
$time = new \DateTime('20:20');
$result = $date->add($time);
Что было нехорошо и ничего не возвращало $result
.
Чтобы сделать DateInterval
из '20:20'
, я нашел только очень сложные решения ...
Может быть, мне следует использовать метки времени?
$date = strtotime($datestring);
$timeObj = new \DateTime($timestring);
// quirk to only get time in seconds from string date
$time = $timeObj->format('H') * 3600 + $timeObj->format('i') * 60 + $timeObj->format('s');
$datetime = $date+$time;
$result = new \DateTime;
$result->setTimestamp($datetime);
В моем случае это возвращает желаемый результат с правильным смещением часового пояса.Но как вы думаете, это надежно?Есть ли лучший способ?