Как сравнить две даты в php, если даты в формате '03_01_12'
и '31_12_11'
.
Я использую этот код:
$date1=date('d_m_y');
$date2='31_12_11';
if(strtotime($date1) < strtotime($date2))
echo '1 is small ='.strtotime($date1).','.$date1;
else
echo '2 is small ='.strtotime($date2).','.$date2;
Но это не работает ..
Ответы:
Вам нужно будет убедиться, что ваши даты являются действительными объектами даты.
Попробуй это:
Затем вы можете использовать
strtotime()
метод, чтобы увидеть разницу.источник
Использование DateTime :: createFromFormat :
источник
;, :, (, ), /, ., ,, -
будет работать.Функция date_diff () возвращает разницу между двумя объектами DateTime.
Если первая дата раньше второй, будет возвращено положительное количество дней; в противном случае отрицательное количество дней:
вывод будет «+272 дня»;
изменение $ date1 = "2014-03-15"
Выход будет «-93 дня».
источник
источник
Не отвечая на актуальную проблему OP, а отвечая только на заголовок. Так как это лучший результат для "сравнения дат в php".
Довольно просто использовать Datetime Objects (
php >= 5.3.0
) и сравнивать их напрямуюисточник
Расширяя ответ @ nevermind, можно использовать DateTime :: createFromFormat: например,
источник
вы можете попробовать что-то вроде:
Затем вы можете получить доступ к разнице в днях следующим образом: $ dateDiff-> d;
источник
Не знаю, в чем проблема, но:
источник
Попробуй это
источник
сравнить результат
maketime()
за каждый разисточник
Я знаю, что это поздно, но для справки в будущем поместите формат даты в распознанный формат с помощью str_replace, тогда ваша функция будет работать. (замените подчеркивание тире)
источник
Вы можете преобразовать в целое число и сравнить.
Например.:
источник
Я думаю, это очень простая функция
источник
Ребята, пожалуйста, не усложняйте простой ответ ниже
Я только что добавил еще две строки с вашим кодом
источник
Если обе даты находятся в одном формате, используйте оператор сравнения.
Выход: 2018-05-05 старше, чем 2019-08-19
источник