Как бы я извлекал данные из прогнозов в определенное время из ответа XML API на PHP и отображал их в виде таблиц HTML?

#php #html #xml

Вопрос:

Я немного теряюсь в том, как бы я это сделал, но мне нужно получить прогноз на ближайшие 5 дней города, используя API прогнозов OpenWeather, но они делают это с интервалом в 3 часа, и мне нужны прогнозы только на полдень и полночь каждый день. Как бы я отфильтровал каждый прогноз, чтобы проверить, идет ли время от «12:00:00» или от «00:00:00». Я понимаю, что вы бы использовали здесь цикл foreach, но меня смущает то, что я тестирую условие, когда формат такой.

<time from="2021-03-27T15:00:00" to="2021-03-27T18:00:00">

Есть ли способ, которым я могу получить значение from, а затем разделить его на символ T, а затем просто условно проверить, соответствует ли оно тому, что мне нужно, а затем, если оно соответствует, я повторяю новую таблицу? Я включил полный текст XML-ответа, если кто-нибудь захочет его проверить. Большое спасибо!

https://pastebin.com/AT1WSfUe

Ответ №1:

Использование класса DateTime и этого формата даты является одним из автоматически понятных форматов для даты и времени

 $from = "2021-03-27T15:00:00";

$dt = new DateTime($from);
echo $dt->format('d/m/Y');
echo PHP_EOL;
echo $dt->format('H:i:s');
 

Результат

 27/03/2021
15:00:00
 

Комментарии:

1. Итак, если бы я хранил эти два формата, которые вы повторяете в переменных, мог бы я использовать их в условных выражениях в цикле foreach для фильтрации нужных мне дат и времени?

2. Да, вы можете это сделать