这是对的吗?使用<,>运算符在PHP上比较日期?

mon*_*see 1 php date date-comparison

这是对的吗?使用<,>运营商在PHP上比较日期?

我测试了它.它工作得很好.但我没有建立关于使用的建议的文件<,>运营商在php上比较日期.

请告诉我我们可以使用<,>运营商在php上比较日期吗?

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

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}
?>
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 7

只要您的日期采用可比较的格式,这将起作用.由于它们被比较为字符串,因此您需要确保较大的日期组件是第一个,而较小的日期组件是最后的.例如,年份,然后是月份,然后是日期.始终包含前导零.这就是你在你的例子中所做的,所以它的工作原理.

如果您没有这种格式的日期,那么您的比较会在某些时候失败.例如:

'2016-07-04' > '2016-01-07' // true
'04-07-2016' > '07-01-2016' // false
Run Code Online (Sandbox Code Playgroud)

比较日期的最佳方法是使用DateTime()DateTime对象具有可比性,并且还考虑与闰年和夏令时相关的所有日期.

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

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}
Run Code Online (Sandbox Code Playgroud)