我可以比较数字字符串中的两个日期吗?或者我应该将它们重新输入到整数中?
这段代码好吗?
<?php
$date1 = "20130102";
$date2 = "20151012";
if ($date1 < $date2){
echo "date1 < date2";
} elseif ($date1 > $date2){
echo "date1 > date2";
} else {
echo "date1 = date2";
}
?>
答案 0 :(得分:3)
在以下情况下,您的代码是安全无误的:Iff您的日期格式为Ymd(根据php {#3;}}
这样做的原因是,在我能想象的所有字符集中,字符0-9的排序与0-9的字符完全相同。如果你然后使用前导0,你的字符串就像数字一样排序。
N.B。使用字符串作为日期的数据类型是代码气味。见date function(第7号)