Ошибки PHP DateTime Interval

if (empty($krow['BUSSTRT'])){
$busts = $ts->add(new DateInterval('PT6i5s'));
$busDate = $busts->format('m/d/Y H:i:s');
echo "busDate:".$busDate."<br>\n";
}else{
$busts = new DateTime($krow['BUSSTRT']);
$busDate = $busts->format('m/d/Y H:i:s');
echo "busSTRT:".$busDate."<br>\n";
}

if (empty($krow['LAMISTRT'])){
echo "lamistrt is empty::::";
$lamts = $busts->add(new DateInterval('PT11is'));
$lamDate = $lamts->format('m/d/Y H:i:s');
echo "lamDate:".$lamDate."<br>\n";
}else{
$lamts = new DateTime($krow['LAMISTRT']);
$lamDate = $lamts->format('m/d/Y H:i:s');
echo "lamistrt:".$lamDate."<br>\n";
}

Код выше выдает следующую ошибку:

Неустранимая ошибка PHP: необработанное исключение «Exception» с сообщением
‘DateInterval :: __ construct (): неизвестный или неправильный формат (PT11i3s)’

когда $bustDate является:

busSTRT: 06.02.2015 03:53:56
lamistrt пусто ::::

Что мне здесь не хватает?

1

Решение

Когда используешь DateInterval() чтобы создать интервал, который вы используете M минут, а не i, Кроме того, если нет секунд, вы должны опустить его в объявлении интервала:

$busts = $ts->add(new DateInterval('PT6M5S'));
$lamts = $busts->add(new DateInterval('PT11M'));

i используется для получения количества минут в интервале дат:

echo $intervalObj->i; // get minutes
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]