我可以像数字一样比较字符串中的两个日期吗?还是应该将它们重新键入int?
这个代码可以吗?
<?php
$date1 = "20130102";
$date2 = "20151012";
if ($date1 < $date2){
echo "date1 < date2";
} elseif ($date1 > $date2){
echo "date1 > date2";
} else {
echo "date1 = date2";
}
?>
您的代码在以下条件下是安全和正确的:如果您的日期格式像Ymd(根据php的日期函数)
这样做的原因是,在我可以想象的所有字符集中,字符0-9的排序与数字0-9的排序完全相同。如果你使用前导0,你的字符串的排序就与数字一样。
N。B.使用字符串作为日期的数据类型是一种代码味道。参见本页(第7页)