PHP MySQL curdate()

时间:2014-03-10 15:44:28

标签: php mysql date

在MySQL中,我可以使用:

 SELECT * FROM container WHERE containerDate = CURDATE() + 1;

返回containerDate在当前日期24小时内的所有内容。

但现在,我需要把它放到PHP中。

我有一个名为$ next_day的PHP变量。如何将CURDATE()+ 1放入变量中,以便查询在PHP中运行,就像在MySQL中一样?

在表单中,我尝试将GET的值设置为“CURDATE()+ 1”,但是它以字符串形式读入,因此,PHP使用单引号读取值,IE:'CURDATE() + 1'

是否有办法将变量$ next_day设置为CURDATE()+ 1?

请指教。

4 个答案:

答案 0 :(得分:2)

$date = new DateTime();
$date->modify('+1 day');

使用第一个命令获取今天的日期,第二个命令,修改它,添加一天(明天日期)

亲自尝试:PHPFiddle

答案 1 :(得分:1)

您可以使用MySQL函数ADDDATE,然后选择:

    SELECT ADDDATE(CURDATE(), 1);

这将为您提供正确的日期,如果您使用CURDATE()+ 1,如果超过月份天数,它似乎会失败。 使用建议的答案来直接从PHP获得时间似乎更好。

答案 2 :(得分:0)

SELECT UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY)

将为您提供一个unix时间戳,它可由PHP时间系统直接使用。最好使用MySQL日期,因为您的查询可以在11:59:59.999pm运行,而PHP可以在第二天12:00:00.0001生成自己的日期。

答案 3 :(得分:0)

$next_day = strtotime('+1 day');

非常简单。 @DonCallisto的解决方案也是正确的。