我的数据库中有unix时间戳。现在我想得到的结果只有两个月了。
这不起作用,因为它显示的条目超过两个月。
$unixbefore2months = strtotime('-2 month');
$query = 'SELECT * FROM table WHERE time > "'.$unixbefore2months.'"';
所以我有时间戳确定两个月前(从现在开始)的时间和数据库中的条目及其创建时间。
答案 0 :(得分:3)
使用UNIX_TIMESTAMP()
转换它们,如果您使用本机MySQL DATE_SUB()
函数,则可以在没有任何PHP变量的情况下完成:
SELECT * FROM tbl WHERE time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 2 MONTH));
有关UNIX_TIMESTAMP()
和DATE_SUB()
的详细信息,请参阅MySQL date & time functions参考。
答案 1 :(得分:1)
是时候学习一些调试。
问这类问题是没用的事 唯一可以帮助你的人就是你自己。
所以,你必须学习一些技巧。
echo date("Y-m-d",unixbefore2months);
echo $query;
在控制台中运行此查询。desc table
查询说什么?
你在桌子上有时间戳吗?看,除了你,没有人可以回答这些问题。然而,有了答案,您将轻松发现问题