【发布时间】:2020-04-04 12:36:22
【问题描述】:
我有两次在 mysql DB 开始 10:00 和结束 18:00 现在我想用 PHP 检查时间是否大于或小于这两次怎么办?谢谢 Mysql 只设置为 TIME 没有日期时间,基本上我想检查现在时间是否不在开始和结束之间。 start 代表 = from2,end 代表 to2。 Day_id 是工作日。这是行不通的
$time_now = date("H:i");
//in DB format 00:00 // time
echo "SELECT * FROM opening_hrs WHERE
(TIME(from2) > TIME('".$time_now."') AND TIME(to2) < TIME('".$time_now."') )
AND day_id=".$day_id;
关于如何检查时间的任何想法("H:i");到数据库之间?
【问题讨论】:
-
PHP不需要导入时间,MySQL有
NOW()函数可以使用当前时间。 -
旁注:不要通过直接连接参数来构建查询,它会让你打开SQL injection。你应该改用prepared statements。
-
这是否正确:“我想检查现在的时间是否不在开始和结束之间”?您的查询正好相反。
-
如果美国的服务器 ID 和网站在澳大利亚,我如何使用 NOW()?
-
非常感谢您对“El_Vanja”的评论,所以只想检查现在时间是否介于 DB 中的时间之间,例如:12:00 和 16:00 你有什么例子吗?
标签: php mysql sql datetime timezone