我想运行像这样的查询
select * from items where expire > 'time()'
这样我就可以检查哪个项目有效。我想设置这样的未来时间
$expire=time()+3*86400;///3 days later
但这不起作用。为什么?
答案 0 :(得分:0)
使用' time()'在MySql语句中只插入字符串time(),而不是实际的时间戳。
您应该使用expire > now()
或使用PHP的时间函数使用如下语句:
$sql = "select * from items where expire > '" . time(). "'";
另外,对于PHP语句,最好在等式中使用括号:
$expire = time() + (3 * 86400);
编辑:
要显示3天后的时间戳/日期,您的代码是正确的:
$expire = time() + (3 * 86400);
echo $expire . " - " . date('d-m-Y H:i:s', $expire);
// OUTPUT: 1420937823 - 11-01-2015 00:57:03 (LONDON TIME)
要在MySql查询中使用它:
$expire = time() + (3 * 86400);
$sql = "select * from items where expire > $expire";
根据OP的最新评论,要在AngularJS中执行此操作,请使用MomentJS或
var threeDaysFromNow = new Date(new Date().getTime() + 3*24*60*60*1000);
{{threeDaysFromNow.getTime() | date:'medium'}}