选择小于或等于当前日期的日期

时间:2014-10-30 10:09:05

标签: php mysql sql date

我正在尝试在字段end_date中选择小于或等于当前日期但不起作用的日期,并且我的字段end_date与下面的当前日期相同的日期格式(08-09-2014)数据是我的代码感谢

$currentdate = date("d-m-Y");
$query1 = "SELECT * FROM location WHERE end_date <= '$currentdate'";            
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){   
echo $line1['end_date'];
}

5 个答案:

答案 0 :(得分:1)

试试这个

    SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d')

答案 1 :(得分:0)

尝试 -

SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%d-%m-%Y')

答案 2 :(得分:0)

$currentdate = date("Y-m-d");
$query1 = "SELECT * FROM location WHERE `end_date` <= '$currentdate'";            
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){   
echo $line1['end_date'];
}

试试这个...必须具有数据库日期格式;;

答案 3 :(得分:0)

SELECT * FROM location WHERE end_date <= NOW();

答案 4 :(得分:0)

如果您的当前日期与系统日期无关(例如,如果您在不同时区操作),并且由于某种原因,如果您的end_date不是日期类型,请尝试以下操作:

SELECT * FROM location 
WHERE str_to_date(end_date, '%d-%m-%Y') <= str_to_date('$currentdate', '%d-%m-%Y')

可以更改格式以匹配您的输入。

如果您想比较日期,请确保您要比较 日期 而不是字符串。