如何在php中创建时间戳以供将来比较

时间:2015-01-08 00:34:33

标签: php

我想运行像这样的查询

select * from items where expire > 'time()'

这样我就可以检查哪个项目有效。我想设置这样的未来时间

$expire=time()+3*86400;///3 days later 

但这不起作用。为什么?

1 个答案:

答案 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'}}