У нас в основном есть формат даты, например: 'd / m / y'.Пример -> '20/02/2019' в виде строки.
Нам необходимо получить дату сегодняшнего дня и дату сегодняшнего дня + 15 дней.И затем проверьте, находится ли дата, указанная в начале, между этими днями или нет.
Дата X дана.Проверьте, больше ли Дата X, чем сегодняшняя Дата A, и +15 дней Дата B.
Мы хотели бы получить все значения с типом DateTime и с ним можно было бы сравнить, если указанная дата находится между ними.
Мы проверили несколько разных вопросов, но мне не удалось это сделать, по моему мнению, потому что, насколько я видел, я не использую php функцию strtotime правильно.
Мы проверили все эти вопросы:
Добавление дней к $ Date в PHP
Время даты PHP больше, чем сегодня
Вычтите 1 день с помощью PHP
Обнаружено неверно сформированное числовое значение
Дата PHP сравните более старую15 дней
И другие страницы, очень полезные:
https://benholland.me/tutorials/2012/03/11/adding-and-subtracting-dates-and-times-in-php.html
Но все же значения неверны.
$date = $item->getData('attribute_name'); //Value as String
$data = date_create(date('d/m/Y',strtotime($date))); //Creating the DateTime object.
Но это автоматически дает нам:
object(DateTime)#5793 (3) { ["date"]=> string(26) "1970-01-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Madrid" }
По моему мнению, это должна быть какая-то ошибка форматирования, которая автоматически дает мнеэта дата, всегда.
Я также пытался как последний вопрос:
$date = $item->getData('attribute_name'); //Value as String
$userDate = DateTime::createFromFormat('d/m/Y', $date);
if ($userDate === false) {
throw new InvalidArgumentException('Invalid date string');
}
$cmp = new DateTime('+15 days'); //today's date +15
if ($userDate <= $cmp) {
$userDate = new DateTime();
}
echo date_format($userDate, 'd/m/Y');
Что мне не хватает?Есть ли улучшенный способ сделать это?
Спасибо