[英]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.