I want to compare two DateTime from JSON data with the current DateTime. compare the start date & end date with the current date to data between these two dates. If dates do not match give 0 answer.
$json = '[
{
"type":"playlist",
"id": "35",
"start_datetime": "2022-09-28 09:48",
"end_datetime": "2022-09-28 09:51"
},
{
"type":"asset",
"id": "4",
"start_datetime": "2022-09-29 07:00",
"end_datetime": "2022-09-29 07:30"
},
{
"type":"asset",
"id": "4",
"start_datetime": "2022-09-29 09:00",
"end_datetime": "2022-09-29 09:30"
}
]';
function find_events($events, $date) {
$date = new DateTime($date);
foreach ($events as $event) {
$from = (new DateTime($event['start_datetime']));
$to = (new DateTime($event['end_datetime']));
if ($date >= $from || $date <= $to) {
$r= "{$event['start_datetime']} to {$event['end_datetime']}".'<br>';
}else{
$r=0;
}
}
return $r;
}
$events = json_decode($json, true);
print_r(find_events($events, '2022-09-29 07:00'));
?>```
this gives me always 0 answers...no, it doesn't. Demo: 3v4l.org/3gsK3$reach time, in case there should ever be multiple matching events, yes?