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

如何计算从当前系统日期到过去和未来日期的365天,并使用php和mysql获取相应的数据,php,mysql,Php,Mysql,我想根据过期的日期提取数据 我有这样的数据库 设备购买日期有效期 笔记本电脑2015-07-152016-07-15 Mobile2012-07-152013-07-15 桌面2011-07-152012-07-15 现在我想获取过期的数据,如果购买日期低于当前日期365天,这意味着设备未过期,否则过期。那么,如何获取过期的数据以及如何获取未过期的数据呢 我设法计算了日期,并像这样打印了条件 $purchasedate = strtotime ($row['purchasedate']);

我想根据过期的日期提取数据

我有这样的数据库

设备
购买日期
有效期

笔记本电脑
2015-07-15
2016-07-15

Mobile
2012-07-15
2013-07-15

桌面
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 purchaseDate <= CURDATE() 1 INTERVAL 1 YEAR

wherepurchasedate使用MySQL日期算法

SELECT equipment,
       CASE WHEN expiryDate > CURDATE() THEN 'Current'
                                         ELSE 'Expired' END
  FROM table 
如果只想显示过期的行,请将此
WHERE
子句附加到查询中

 WHERE expiryDate <= CURDATE()
类似地,如果希望查看购买日期为一年或一年以上的行,可以这样做

WHERE purchaseDate <= CURDATE() 1 INTERVAL 1 YEAR

WHERE purchaseDate谢谢,但我正在获取所有数据,我想要过期的数据@奥利·琼斯请看我的编辑。对不起,我误解了你的问题。谢谢,但我正在获取所有数据,我想要过期的数据@奥利·琼斯请看我的编辑。对不起,我误解了你的问题。