簡體   English   中英

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

[英]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: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()工作正常...

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM