我将字段与当前时间进行比较时遇到了一些麻烦。
我在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");
但它也破了。
有谁能告诉我如何实现它?非常感谢。
答案 0 :(得分:7)
使用BETWEEN
SELECT *
FROM lecture
WHERE NOW() BETWEEN starttime AND endtime
答案 1 :(得分:1)
$ compare = mysql_query(“SELECT * FROM讲座WHERE starttime&lt; mysql_function AND mysql_function &lt; endtime”);
将mysql_function替换为以下函数之一
1)SYSDATE():示例输出为2012-12-29 16:03:20
2)CURDATE():示例输出为2012-12-29
3)UNIX_TIMESTAMP():示例输出为1356777278
取决于'startime和endtime'格式,在查询中替换上述函数之一。