0

我在将字段与当前时间进行比较时遇到了一些麻烦。

我在 MySQL 中有两个字段,分别记录讲座的开始时间和结束时间。

我要做的是检查当前时间是否在开始时间和结束时间之间。

$starttime 和 $endtime 是 DateTime 的形式。

代码在这里:

$now = time();
$compare = mysql_query("SELECT * FROM lecture WHERE strtotime(starttime) < '$now' AND '$now' < strtotime(endtime)");

但它不起作用。

我也试过这个:

$now = new DateTime;
$compare = mysql_query("SELECT * FROM lecture WHERE starttime < '$now' AND '$now' < endtime");

但它也坏了。

谁能告诉我如何实现它?非常感谢。

4

2 回答 2

7

采用BETWEEN

SELECT * 
FROM   lecture 
WHERE  NOW() BETWEEN starttime AND endtime
于 2012-12-29T10:35:24.113 回答
1

$compare = mysql_query("SELECT * FROM Lecture WHERE starttime < mysql_function AND mysql_function < endtime");

用以下函数之一替换 mysql_function

1) SYSDATE():示例输出为 2012-12-29 16:03:20

2) CURDATE():示例输出为 2012-12-29

3) UNIX_TIMESTAMP():示例输出为 1356777278

根据“开始时间和结束时间”格式替换查询中的上述函数之一。

于 2012-12-29T10:36:03.870 回答