Таким образом, я размышлял, как 2 часа, над следующей проблемой (и, в конце концов, смог решить ее, добавив, казалось бы, очень тривиальную деталь ...)
Я сравнивал несколько диапазонов дат из базы данных mysql на совпадение с диапазоном дат, запрошенным пользователем (userinput уже очищен).
Я использовал следующий оператор if из этой темы:
Определите, перекрываются ли два диапазона дат
(StartA <= EndB) and (EndA >= StartB)
Когда это условие было выполнено, пользователь должен был отклонить свой запрос из-за перекрытия.
Теперь, как описано в заголовке, я отформатировал ввод даты от пользователя в формат «Y-m-d». Теперь все было хорошо, за исключением того, что когда конец введенного пользователем диапазона дат коснулся начала диапазона дат из базы данных. Затем условие не может обнаружить перекрытие.
Я был очень смущен, и мне потребовалось 2 часа, прежде чем я, в отчаянии, попытался отформатировать в «Ymd H: i: s», который также является форматом в базе данных (с H: i: s, установленным в 00 : 00: 00) и посмотрим, что получится.
И вдруг все заработало нормально Оо
Зачем? Я особенно смущен, потому что ЛЮБОЙ ДРУГОЙ случай был оценен правильно, только этот конкретный случай, описанный выше, не был. Теперь я уверен, что php должен автоматически делать или предполагать что-то о датах, когда они не имеют точно такой же формат. Но я не знаю, что именно это делает, и я действительно хочу знать, так как это может помочь мне в какой-то момент, когда сталкиваюсь с подобной проблемой.
Спасибо за ваш вклад!