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 пусто ::::
Что мне здесь не хватает?
Когда используешь DateInterval()
чтобы создать интервал, который вы используете M
минут, а не i
, Кроме того, если нет секунд, вы должны опустить его в объявлении интервала:
$busts = $ts->add(new DateInterval('PT6M5S'));
$lamts = $busts->add(new DateInterval('PT11M'));
i
используется для получения количества минут в интервале дат:
echo $intervalObj->i; // get minutes
Других решений пока нет …