簡體   English   中英

檢查datetime值是否來自最近30天的php(不在mysql查詢中)?

[英]Check if datetime value is from last 30 days in php (not in the mysql query)?

我需要用php檢查是否從數據庫中獲取的值是最近30天中的值。

值的格式如下:

2012-03-19 05:00:32

如何才能做到這一點?

您可以使用strtotime將其轉換為unix時間戳。

$db_date = "2012-03-19 05:00:32";
if (time() - strtotime($db_date) <= 30 * 86400) {
  //...
}
$date = '2012-03-19 05:00:32';
if (strtotime($date) >= strtotime('-30 days')) {
    // do something
}

請參閱strtotime()參考

您可以在PHP中完成此操作,但這意味着通過日期/時間系統進行往返,以將該字符串處理回日期值:

$within_30 = ((strtotime('2012-03-19 05:00:32') + 30*86400) > time());

假設您使用的是MySQL,則可以直接在查詢中進行操作,並節省一些時間轉換:

SELECT ((yourtimefield + INTERVAL 30 DAY) > now()) AS within_30 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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