如何使用PHP计算截止日期?

时间:2015-08-20 07:03:19

标签: php

我必须在2个月,4个月和6个月时给予疫苗。我需要根据出生日期计算

EX:如果DOB:2015年3月18日和截止日期,它必须显示2个月的日期为18-05-2015。 完成日期后,它必须自动更新,并将其更改为4个月的日期为18-07-2015。

我试过但它没有用,它也必须检查现在的日期。

怎么做请帮助我。

我的代码:

<?php

      $date=date_create("now");//present date
      $bdate=date_create($myDate);//Birthday date
      //echo date_format($bdate,'d-m-Y');
        if($date >= $bdate)
        {
            $hadueDate=$bdate->modify('+2 month');//due date
            echo date_format($hadueDate,"d-m-Y");
        }
        else
        {
            $bdate->modify('+4 months');
            echo date_format($bdate,'d-m-Y');
        }
?>

3 个答案:

答案 0 :(得分:0)

如果我理解你的问题,算法应该是:

  1. 计算第一个截止日期(dob + 2个月)
  2. 如果当前日期高于第一个截止日期,则计算并显示第二个截止日期(dob + 4个月)
  3. 否则显示第一个截止日期

答案 1 :(得分:0)

这段代码可以帮助你交配。 运行此代码。

echo "<b>Today's Date:</b>".$Currentdate=date("d F Y");//current date
$user_date = date("d F Y",strtotime("2015-08-21"));//date you get from database
if($Currentdate<=$user_date){
echo '<br><b>First Date :</b>'.$first_date = date("d F Y",strtotime('+2 month',strtotime($user_date)));//only if current date is less than user's date
}
else{
echo '<br><b>Second Date :</b>'.$second_date = date("d F Y",strtotime ( '+4 month' , strtotime ( $user_date ) )) ;//only if current date is more than user's date
}

这是输出

使用2015-08-21时

Today's Date:20 August 2015
First Date :21 October 2015

使用2015-08-01时

Today's Date:20 August 2015
Second Date :01 December 2015

干杯!!

答案 2 :(得分:0)

简单,

请按照以下步骤操作

- 比较您想要测试的当前日期和日期。

- 如果此日期小于测试日期,则显示另外2个月的日期

否则

- 显示另外4个月的日期。

谢谢