【发布时间】:2014-01-20 07:35:18
【问题描述】:
所以我已经编写了用于获取未来 7 天内即将发生的事件列表的代码,它工作正常并给了我即将发生的事件列表。但问题是它也给出了过去几天的事件记录.这是我的代码:
$today = strtotime("Now");
echo date('Y-m-d :H:i:s',$today)."<br>";
$leadDate = strtotime("+7 day", $today);
echo date('Y-m-d :H:i:s',$leadDate)."<br>";
$rs = mysql_query("SELECT * FROM names WHERE due_date BETWEEN CURDATE() AND '$leadDate'") or die(mysql_error());
echo "<b>Dues for upcoming 7 days</b><br>";
while($row=mysql_fetch_assoc($rs))
{
echo $row['name']." => ".$row['normal_date']."<br>";
}
我有桌子:
id| name | due_date | normal_date
|1|name1|1390245240|Mon, 20 Jan 2014 19:14:00 GMT
|2|name2|1390331640|Tue, 21 Jan 2014 19:14:00 GMT
|4|name3|1390418040|Wed, 22 Jan 2014 19:14:00 GMT
|5|name4|1390590840|Fri, 24 Jan 2014 19:14:00 GMT
|6|name5|1390850040|Mon, 27 Jan 2014 19:14:00 GMT
|7|name6|1390936440|Tue, 28 Jan 2014 19:14:00 GMT
|8|name7|1396034040|Fri, 28 Mar 2014 19:14:00 GMT
|9|name8|1398708840|Mon, 28 Apr 2014 18:14:00 GMT
|10|name9|1390158840|Sunday, 19 Jan, 2014
|11|name10|1390072440|Saturday, 18 Jan, 2014
|12|name11|1390176000|20 Jan, 2015
服务器今天的日期是 2014 年 1 月 19 日,但它也给了我 2014 年 1 月 18 日的列表,但我正在寻找下一个 7 天的记录。我当前的脚本给了我以下输出:
2014-01-19 :20:44:30
2014-01-26 :20:44:30
Dues for upcoming 7 days
name1 => Mon, 20 Jan 2014 19:14:00 GMT
name2 => Tue, 21 Jan 2014 19:14:00 GMT
name3 => Wed, 22 Jan 2014 19:14:00 GMT
name4 => Fri, 24 Jan 2014 19:14:00 GMT
name9 => Sunday, 19 Jan, 2014
name10 => Saturday, 18 Jan, 2014
name11 => 20 Jan, 2015
那么为什么 2014 年 1 月 18 日和 2014 年 1 月 20 日出现记录,我错了。请帮忙。 提前致谢。
【问题讨论】:
标签: php time strtotime between