如何在PHP中过期日期即将到期

时间:2016-09-29 09:38:09

标签: php mysql

我问过"如何确定日期在今天日期下面的数据库中的db"在我的上一篇文章中,这很有帮助。现在,我需要有关如何在db中的药物日期保持60天到期时提醒管理员的帮助。 todays date is date('Y-m-d') and from db I have 2016-12-20

数据库样本

+----+----------+--------+------------+
| id | drug_nam | amount |    exp     |
+----+----------+--------+------------+
| 1  | M and T  |    200 | 2018-02-10 |
| 2  | VIT C    |     20 | 2016-12-30 |
| 3  | Pana     |     10 | 2017-01-18 |
| 4  | Lonat    |   1200 | 2018-02-20 |
| 5  | ProC     |    100 | 2017-06-10 |
+----+----------+--------+------------+

请知道如何使用mysqli将日期保留60天到期。

4 个答案:

答案 0 :(得分:1)

这将返回60天到期SELECT DATE_ADD(exp,INTERVAL 60 day) > now() from <tblname>

的数据

答案 1 :(得分:0)

试试这个:

如果您要显示这些药物清单,请填写过期栏并计算到期日期,如:

$futureDate = date('Y-m-d', strtotime("+60 days"));
// It will return the date of 60 days + todays date

检查是否

  

$ futureDate&gt; =药物过期日期,比药物过期。

答案 2 :(得分:0)

未经测试。你可以尝试:

$sixtyDays = date('Y-m-d', strtotime('+60 days'));
$dbDate = '2016-12-20';

if (strtotime($dbDate) <= strtotime($sixtyDays)) {
    // db date is 60 days or less than 60 days from today
}

答案 3 :(得分:-2)

您可以查看此datediff tutorial

<?php
   $date_now = date_create(date('Y-m-d'));
   $date_db = date_create('2018-02-10');

   $date_diff = date_diff($date_now,$date_db);
   echo '<pre>';
   print_r($date_diff);
   echo '</pre>';
?>
and the result is ..
DateInterval Object
(
   [y] => 1
   [m] => 4
   [d] => 12
   [h] => 0
   [i] => 0
   [s] => 0
   [weekday] => 0
   [weekday_behavior] => 0
   [first_last_day_of] => 0
   [invert] => 0
   [days] => 499
   [special_type] => 0
   [special_amount] => 0
   [have_weekday_relative] => 0
   [have_special_relative] => 0
)

您可以查看here

上方的代码

$ date_diff是一个DateInterval对象。你可以用$ date_diff-&gt; d。

来度过这些日子
if($date_diff->d < 60)echo 'less than 60 days';

我希望它可以帮到你