日期:2014-05-17  浏览次数:20546 次

小小的问题
为什么这样也echo错误呢
<?php
$date1 = "Apr/13/2012";
$date2 = "Apr/6/2012";
if($date1 > $date2){
echo "正确";
}else{
echo "错误"."<script>alert('错误');</script>";
}

?>

------解决方案--------------------
你比较的是字符串,又不是数字。$date1与$date2第一个不同的字符是"1" and "6".
"1"的ascii 码比"6"的ascii小,当然date1>date2!

比较前先把字符串转换为时间戳(strtotime)

PHP code

<?php
$date1 = "Apr/13/2012";
$date2 = "Apr/6/2012";
if(strtotime($date1) > strtotime($date2)){
echo "正确";
}else{
echo "错误"."<script>alert('错误');</script>";
}

?>

------解决方案--------------------
字符串好像是不能比较大小吧!!
------解决方案--------------------
标准时间格式没有你这样的写法:Apr/13/2012
应该是这种:Apr 13 2012
这种:4/13/2012
或者是这种:2012-4-13
或者:.....