首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较来自MySQL数据库的两个时间值

问比较来自MySQL数据库的两个时间值
EN

Stack Overflow用户
提问于 2011-05-04 07:48:19
回答 5查看 5.5K关注 0票数 2

我正在尝试比较两组时间,以找出它们是否重叠。这是我目前所拥有的..

代码语言:javascript
复制
$sql = "SELECT * FROM schedule WHERE starttime>='$starttime' AND endtime<='$endtime' AND day='$updateday'";

现在这不起作用了,因为你不能比较时间,values...so,我完全不确定怎么做?

EN

回答 5

Stack Overflow用户

发布于 2011-05-04 08:02:31

MySQL中的日期时间字段存储为(例如)

'2011-05-03 17:01:00‘

所以你应该能够做一些像这样的事情

代码语言:javascript
复制
$starttime = date('Y-m-d H:i:s', $timestamp);

其中$timestamp是您关注的时间的时间戳。然后继续您的查询。

您可以使用mktime()或strtotime() (如果从时间的字符串表示开始,就像以前的MySQL查询一样),或者只使用time()表示当前时间来制作时间戳。

票数 0
EN

Stack Overflow用户

发布于 2011-05-04 08:03:23

我知道您的数据类型使用了"time“。这应该不是问题,因为您可以使用"time“类型比较字段。您可能希望将错误报告级别设置为最大值,或者在mysql_query之前输出$sql语句,以再次检查您正在构造的查询是否可以在第一时间返回结果。还要检查您在数据库中的查询是否具有有效的数据集(我在调试时遇到过一次)。

票数 0
EN

Stack Overflow用户

发布于 2011-05-04 09:31:15

为什么不使用使用unix时间戳进行比较?

代码语言:javascript
复制
$sql = "SELECT * FROM schedule WHERE UNIX_TIMESTAMP(starttime)>=$starttime AND UNIX_TIMESTAMP(endtime)<=$endtime AND day='$updateday'";

另外,我认为你是在比较字符串,我不确定它是否能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5877009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档