[英]How to check if date is today's date with PHP
比如说,我有 4 个日期,今天的日期是 16 年 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:02
和1/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()
工作正常...
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
// Setting the time to 0 will ensure the difference is measured only in days
$now->setTime( 0, 0, 0 );
$otherDate->setTime( 0, 0, 0 );
var_dump($now->diff($otherDate)->days === 0); // Today
var_dump($now->diff($otherDate)->days === -1); // Yesterday
var_dump($now->diff($otherDate)->days === 1); // Tomorrow
schellingerht的回答是完全正确的,但是
$now = new DateTime;
应该是这样的:
$now = new DateTime('Today');
这将确保选择从今天开始的0小时0分钟的日期。 否则,即使日期是明天,输出也可能是“ Today
。 希望有帮助!
转换为时间戳,然后仅格式化日期。 然后比较今天日期的相同格式:
var_dump(
date('Ymd', strtotime('1/7/16 1:06:02')) === date('Ymd')
);
尝试使用DATE()( http://www.w3schools.com/sql/func_date.asp )。 您无需将日期转换为字符串-这效率不高。
DELETE FROM yourTable WHERE DATE(yourDateField) = DATE(NOW)
$Today = date('Y-m-d');
$otherdate = date('Y-m-d', strtotime('2022-02-02 16:00:26'));
if($Today === $otherdate){
\\ Today
}else{
\\ Not Today
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.