Я сравнивал время начала и окончания моей базы данных. Я, наконец, смог понять это, но теперь мне нужно добавить время вместе, чтобы получить все разности во времени. Каков наилучший/самый быстрый способ сделать это? Раньше я никогда не использовал DateTime. Я бы добавил что-то вроде $date->add($interval)
в мой цикл while? Я не могу понять, как правильно его реализовать. Пример $starttime
вар: 11:03:52 AM $startdate
вар пример: 08-16-2016 $endtime
вар Пример: 8:04:53 AM $enddate
вар пример: 08-17-2016Использование DateTime для добавления многочисленных дат и времени вместе
$start = $startdate." ".$starttime;
$end = $enddate." ".$endtime;
$start_formatted = DateTime::createFromFormat('m-d-Y g:i:s A', $start);
$started_on = $start_formatted->format("m-d-Y g:i:s A");
$end_formatted = DateTime::createFromFormat('m-d-Y g:i:s A', $end);
$ended_on = $end_formatted->format("m-d-Y g:i:s A");
$interval=$start_formatted->diff($end_formatted);
$intervalTypes = array("y", "m", "d", "h", "i", "s");
$intervalDescription = array("years", "months", "days", "hours", "minutes", "seconds");
$intervalLength = count($intervalTypes);
$intervalCounter = 0;
while ($intervalCounter < $intervalLength) {
$currentInterval = $intervalTypes[$intervalCounter];
if ($interval->$currentInterval != 0) {
if ($interval->$currentInterval > 1) {
echo $interval->$currentInterval." ".$intervalDescription[$intervalCounter]." ";
} else {
echo $interval->$currentInterval." ".substr($intervalDescription[$intervalCounter], 0, -1)." ";
}
}
$intervalCounter++;
}