php сравнивает даты начала и окончания между двумя датами

Привет всем :) Я разрабатываю модуль аренды, который сдает квартиры пользователям, я просто хочу проверить, есть ли арендная плата за две даты запроса, например, арендная плата за квартиру с 07.05.2019 по 07.08.2019, когда эта квартира снова сдается я хочу проверить дату начала и окончания не в диапазоне двух дат, которые я сказал выше

я просто пишу условие, чтобы проверить даты запроса и даты аренды,

if($rent->endContract >= $request->startContract ||
  $rent->startContract <= $request->endContract) {
}

но это условие не работает, например, когда я хочу арендовать аналогичную квартиру пользователю с 08.08.2019 по 08.11.2019 в состоянии, которое не работает, даже если даты верны, пожалуйста, помогите мне найти лучшее решение, большое спасибо

Обновление:

я просто хочу знать, что диапазоны двух дат, которые пользователь отправил на сервер, не находятся в диапазоне, хранящемся в базе данных


person Amirreza Moradi    schedule 17.05.2019    source источник
comment
Работа с датами и форматами дат не такая уж и черно-белая. Вы можете преобразовать их в метки времени, а затем сравнить их. У них много способов сделать это.   -  person CritingZ    schedule 17.05.2019
comment
я просто не знаю, как я могу найти две даты, которые пользователь отправляет между двумя моими датами, вот и все!   -  person Amirreza Moradi    schedule 17.05.2019
comment
Возможный дубликат Как рассчитать разницу между двумя датами, используя PHP?   -  person Dave    schedule 17.05.2019
comment
я просто снова обновляю свой вопрос :)   -  person Amirreza Moradi    schedule 17.05.2019


Ответы (1)


В PHP есть метод strtotime (https://php.net/strtotime). При этом вы можете преобразовать дату в метку времени, которая является целым числом. Вы можете сравнить целое число с другим целым числом. Попробуй это:

if (strtotime( $rent->endContract ) >= strtotime( $request->startContract ) ||
    strtotime( $rent->startContract ) <= strtotime( $request->endContract ) ) {

}
person Sjors    schedule 17.05.2019
comment
состояние нормальное? покрыть диапазон дат? - person Amirreza Moradi; 17.05.2019
comment
Я не знаю, в порядке ли условие (это зависит от того, что вы пытаетесь проверить), но с помощью strtotime вы можете сравнить даты друг с другом. - person Sjors; 17.05.2019