在PHP中的日期之间查询

时间:2013-05-23 09:57:47

标签: php mysql

我在桌子上有这些数据;

STARTDATE   : ENDDATE     : FNAME : LNAME
Apr 1, 2013 : May 31, 2014: John  : Smith
Feb 1, 2013 : Jun 30, 2013: Gane  : Oxford
Jan 1, 2013 : Mar 11, 2013: Lloyd : White

我想在STARTDATE和ENDDATE之间查询那些FNAME和LNAME。例如,今天是2013年5月23日,我想返回startdate和enddate之间的所有名称。在上面的例子中; John Smith和Gane Oxford将返回。

SELECT fname, lname FROM table where NOW() BETWEEN startdate AND enddate

3 个答案:

答案 0 :(得分:4)

SELECT fname,lname FROM table_name where DATE_FORMAT(CURRENT_DATE(),'%b %d, %Y') between startdate AND endate;

DATE_FORMAT(CURRENT_DATE(),'%b %d, %Y') ---将当前日期转换为数据库日期格式,如您所提到的'Apr 1, 2013'

答案 1 :(得分:1)

使用日期格式。以下是mysql日期格式的示例:

SELECT fname, lname FROM table where DATE_FORMAT(NOW(),'%b %d, %Y') BETWEEN DATE_FORMAT(startdate,'%b %d, %Y')  AND DATE_FORMAT(enddate,'%b %d, %Y') 

尝试这个,如果适合你。

答案 2 :(得分:0)

您需要检查当前日期: -

$date =  date(' F j\, Y'); //output :- May 23, 2013

,您的查询将是

SELECT fname, lname FROM table where $date BETWEEN startdate AND enddate