Это будет правильно? для использования & lt; & gt; оператор для сравнения даты на php?

Это будет правильно? для использования < , > оператор для сравнения даты на php?

Я проверял это. И это хорошо работает. Но я не основал документы для совета по использованию < , > оператор для сравнения даты на php.

Пожалуйста, скажите мне, мы можем использовать < , > оператор для сравнения даты на php?

<?PHP
$today = "2010-10-19";
$expired = "2012-12-10";

if($expired > $today)
{
echo "not expired";
}
else
{
echo "expired";
}
?>

1

Решение

Пока ваши даты в сопоставимом формате, это будет работать. Поскольку они сравниваются как строки, необходимо убедиться, что компоненты с большими датами находятся первыми, а компоненты меньших — последними. Например, год, затем месяц, затем дата. Всегда включайте ведущие нули. Это то, что вы делаете в своем примере, чтобы он работал.

Если у вас нет даты в этом формате, сравнение не удастся некоторое время. Например:

'2016-07-04' > '2016-01-07' // true
'04-07-2016' > '07-01-2016' // false

Лучший способ сравнить даты с DateTime() поскольку объекты DateTime сопоставимы, а также учитывают все данные, связанные с датой, например високосный год и летнее время.

<?PHP
$today = new DateTime("2010-10-19");
$expired = new DateTime("2012-12-10");

if($expired > $today)
{
echo "not expired";
}
else
{
echo "expired";
}
5

Другие решения

использование StrToTime преобразовать описание даты и времени в метку времени Unix, и вы можете легко сравнить метку времени с < или же > оператор

$today = strtotime('2010-10-19');// return 1287426600
$expired = strtotime('2012-12-10');// return 1355077800

if ($expired > $today) {// easily comparison of 1355077800 > 1287426600
echo "not expired";
} else {
echo "expired";
}
1

По вопросам рекламы [email protected]