Это будет правильно? для использования <
, >
оператор для сравнения даты на php?
Я проверял это. И это хорошо работает. Но я не основал документы для совета по использованию <
, >
оператор для сравнения даты на php.
Пожалуйста, скажите мне, мы можем использовать <
, >
оператор для сравнения даты на php?
<?PHP
$today = "2010-10-19";
$expired = "2012-12-10";
if($expired > $today)
{
echo "not expired";
}
else
{
echo "expired";
}
?>
Пока ваши даты в сопоставимом формате, это будет работать. Поскольку они сравниваются как строки, необходимо убедиться, что компоненты с большими датами находятся первыми, а компоненты меньших — последними. Например, год, затем месяц, затем дата. Всегда включайте ведущие нули. Это то, что вы делаете в своем примере, чтобы он работал.
Если у вас нет даты в этом формате, сравнение не удастся некоторое время. Например:
'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";
}
использование 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";
}