如何使用PHP检查日期是否为今天的日期

时间:2016-01-07 19:32:02

标签: php date

说,我有4个日期,今天的日期是2016年1月7日:

1/7/16 1:06:02

1/7/16 8:01:24

1/8/16 7:02:23

1/6/16 3:12:34

我如何才能选择1/7/16 1:06:021/7/16 8:01:24

我可以使用PHP的哪个日期函数来获取今天的日期?

谢谢!

更新

这被用作MYSQL选择器。

示例:$db->query("DELETE * FROM entry WHERE date='$today'");

这将如何运作?如何让我的MYSQL查询只选择今天的日期?

更新2: 我尝试过使用curdate(),但代码无效... 这就是我正在做的事情:

$db->query("DELETE * FROM entry WHERE date=curdate()"); 

我做错了什么?

最后更新: curdate()正常工作......

4 个答案:

答案 0 :(得分:2)

UPDATE :作为MySQL查询,您可以按照以下方式执行此操作:

$db->query("DELETE * FROM entry WHERE DATE(date) = CURDATE()");

CURDATE()返回今天的日期。

如果你想使用php,请参阅下面的内容以使用DateTime类。

$now = new DateTime;
$otherDate = new DateTime('2016-01-01'); // or e.g. 2016-01-01 21:00:02

var_dump($now->diff($otherDate)->days === 0); // Today
var_dump($now->diff($otherDate)->days === -1); // Yesterday
var_dump($now->diff($otherDate)->days === 1); // Tomorrow

答案 1 :(得分:2)

schellingerht的回答是完全正确的,但是

$now = new DateTime;

应该是这样的:

$now = new DateTime('Today');

这将确保选择从今天起0小时0分钟的日期。否则输出可能是Today,即使日期是明天。 希望有所帮助!

答案 2 :(得分:0)

转换为时间戳,然后仅格式化日期。然后比较今天日期的相同格式:

var_dump(
         date('Ymd', strtotime('1/7/16 1:06:02')) === date('Ymd')
);

答案 3 :(得分:0)

尝试使用DATE()(http://www.w3schools.com/sql/func_date.asp)。您不需要将日期转换为字符串 - 这效率不高。

DELETE FROM yourTable WHERE DATE(yourDateField) = DATE(NOW)