Как выбрать строки через php из xml по времени
К примеру зная время сейчас вывести строки до следующего дня из атрибутов [start] или [stop], но следующий день не выводить
<programme start="20211121050500 +0300" stop="20211121060000 +0300" channel="1">
</programme>
<programme start="20211121080000 +0300" stop="20211121083500 +0300" channel="2">
</programme>
<programme start="20211121083500 +0300" stop="20211121092500 +0300" channel="2">
</programme>
собственно получилось, но мне кажется я здесь много лишнего кода нагородил, а так выводит как мне нужно
$timezone = 'Europe/Moscow';
date_default_timezone_set ($timezone);
foreach($xml->children() as $channel) {
// echo $channel->{'display-name'} . " --- ".$channel['id']. "<br>";
if ($channel->{'display-name'} == $tvcc) {
echo $channel->{'display-name'};
foreach($xml->children() as $programme) {
$tstart = date("d-m-Y H:i:s", strtotime($programme['start']));
$tstop = date("d-m-Y H:i:s", strtotime($programme['stop']));
$timestart = date("H:i", strtotime($programme['start']));
$timestamp = date('d-m-Y H:i:s');
if ($programme['channel'] == '2') {
if (abs(strtotime($tstop)-time()) <= 30000) {
if ($tstop <= $timestamp) {
echo "<div style='display:none'>";
echo $tstart." - ".$tstop;
echo $programme->{'title'};
echo $programme->{'desc'};
echo $programme->{'category'};
} else {
echo "<ul><li>";
$timestart = date("H:i", strtotime($programme['start']));
echo "<time>".$timestart."</time>";
echo "<div><span>".$programme->{'title'}."</span> </div>";
echo "<div>".$programme->{'desc'}."</div>";