繁体   English   中英

如何计算从当前系统日期到过去和未来日期的365天,并使用php和mysql相应地获取数据

[英]How to count 365 days from current system date to past and future date and fetch the data accordingly using php and mysql

我想根据过期的日期获取数据。

我有这样的数据库

Equipment Purchase Date Expiry Date

Laptop 2015-07-15 2016-07-15
Mobile 2012-07-15 2013-07-15
Desktop 2011-07-15 2012-07-15

现在,我想获取已过期的数据,如果购买日期位于当前日期之后的365天以内,则意味着设备未过期,否则过期。 因此,如何获取已过期的数据数据以及如何获取未过期的数据数据。

我设法计算日期并打印出这样的条件。

 $purchasedate = strtotime ($row['purchasedate']);
 $todayDate = strtotime (date("j-m-Y"));
 $timeDiff = abs($todayDate - $supplydate1);
 $numberDays = $timeDiff/86400;
 $numberDays = intval($numberDays);

 if ($numberDays > 365)
 {
     $expiry = 'Warranty Expired';
 } else {

     $expiry = 'Under Warranty';
     } 

但是我只想获取过期的数据,而不是过期的数据。

请帮忙,谢谢。

使用MySQL日期算术。

SELECT equipment,
       CASE WHEN expiryDate > CURDATE() THEN 'Current'
                                         ELSE 'Expired' END
  FROM table 

如果只想显示过期的行,请将此WHERE子句附加到查询中。

 WHERE expiryDate <= CURDATE()

使用日期算术可以做很多很酷的事情。 例如,要查找从现在到现在两个月之间到期的所有行,请使用此WHERE子句。

WHERE expiryDate > CURDATE()
  AND expiryDate <= CURDATE() + INTERVAL 2 MONTH

同样,如果要查看购买日期是一年或更早的行,可以执行此操作。

WHERE purchaseDate <= CURDATE() 1 INTERVAL 1 YEAR

这种SQL数据运算法则使您无需数天或数月。 它知道必要的日历详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM