检查日期是否在PHP中的日期之间并相应地分配变量

时间:2016-12-12 18:46:15

标签: php date

我有以下PHP代码

    $febdate = date('Y-02-01', time());
    $maydate = date('Y-05-01', time());
    $augdate = date('Y-08-01', time());
    $novdate = date('Y-11-01', time());



    $today = date('Y-m-d', time());

    $paymentDate = 'Error';


    if(($today > $novdate) && ($today < $febdate)){
      $paymentDate = $febdate;
    }

    if(($today > $febdate) && ($today < $maydate)) {
      $paymentDate = $maydate;
    }

    if(($today > $maydate) && ($today < $augdate)) {
      $paymentDate = $augdate;
    }

    if(($today > $augdate) && ($today < $novdate)) {
      $paymentDate = $novdate;
    }

    echo $paymentDate;

我想要做的是将付款日期设置为$dates数组中的一个日期。所以我采取今天的日期,并检查是否在两个日期之间,如果是,我明确要将$paymentDate设置为数组中的一个日期,基于它们之间的两个日期。这里的问题是我没有点击我的任何if语句。我不确定我是否正确格式化了日期,或者它们是否作为字符串传递到if语句中。

此外,我不确定是否有更简单的方法来查找下一个付款日期。

1 个答案:

答案 0 :(得分:2)

首先,数组中的每个日期都是同一年。在第一个条件中,哟正在检查今天是否比2016年11月(真实)和2016年2月之前(假),所以这是不可能的条件。

其次,您还应该检查相同的日期,因为如果它是给定月份的第一天,则您的条件都不匹配。

(提示您可以在明年引入新变量并在最后检查它。在第一个条件下与$novdate比较下降)