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)
只要您的日期采用可比较的格式,这将起作用.由于它们被比较为字符串,因此您需要确保较大的日期组件是第一个,而较小的日期组件是最后的.例如,年份,然后是月份,然后是日期.始终包含前导零.这就是你在你的例子中所做的,所以它的工作原理.
如果您没有这种格式的日期,那么您的比较会在某些时候失败.例如:
'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)