我有以下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语句中。
此外,我不确定是否有更简单的方法来查找下一个付款日期。
答案 0 :(得分:2)
首先,数组中的每个日期都是同一年。在第一个条件中,哟正在检查今天是否比2016年11月(真实)和2016年2月之前(假),所以这是不可能的条件。
其次,您还应该检查相同的日期,因为如果它是给定月份的第一天,则您的条件都不匹配。
(提示您可以在明年引入新变量并在最后检查它。在第一个条件下与$novdate
比较下降)