首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查mySql datetime是否早于php now()的1天

检查mySql datetime是否早于php now()的1天
EN

Stack Overflow用户
提问于 2010-06-19 21:45:58
回答 4查看 18.5K关注 0票数 7

我有一个从MySQL返回的记录,它有一个datetime字段。我想要做的是获取这个值,看看它是否早于24小时,我假设使用PHP的time()来获取当前时间。

现在,如果我把它们说出来,我会得到:

代码语言:javascript
运行
复制
 1276954824            this is php's time()
 2010-06-19 09:39:23   this is the MySQL datetime

我假设最上面的是unix时间?一直在尝试strtotime,但收效甚微..

欢迎使用ANy帮助!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-19 21:53:10

没有成功吗?

代码语言:javascript
运行
复制
echo strtotime("2010-06-19 09:39:23");

给了我

代码语言:javascript
运行
复制
1276940363

(__mktime(9, 39, 23, 6, 19, 2010)给出了相同的时间,因此解析工作正常)

为了得到以秒为单位的差异,你可以减去时间戳,例如

代码语言:javascript
运行
复制
$diff = time() - strtotime("2010-06-19 09:39:23");

如果差值大于86400 (60*60*24)秒,则时间戳的间隔超过一天:

代码语言:javascript
运行
复制
if(time() - strtotime("2010-06-19 09:39:23") > 60*60*24) {
   // timestamp is older than one day
}
票数 28
EN

Stack Overflow用户

发布于 2010-06-19 22:17:19

您还可以执行以下操作:

代码语言:javascript
运行
复制
SELECT * FROM my_table WHERE timestamp < NOW() - INTERVAL 1 DAY;
票数 10
EN

Stack Overflow用户

发布于 2010-06-19 21:49:16

为什么你要把PHP时间和MySQL时间混在一起?

相反,可以直接在MySQL中进行比较:

要获取MySQL格式的当前日期/时间,请使用NOW()函数。例如,您可以比较2010-06-19 09:39:23' < DATE_SUB(NOW(), INTERVAL 1 DAY)

这将检查给定的日期(假设在列中)是否早于24小时。

如果一定要将MySQL时间戳转换为UNIX时间戳,可以使用MySQL的UNIX_TIMESTAMP()函数。

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

https://stackoverflow.com/questions/3075698

复制
相关文章

相似问题

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