我使用DatePeriod来获取定期结算系统的递归日期列表。
代码示例:
$time = new DateTime(date('Y-m-d', 1496185200));
$interval = new DateInterval('P1M');
$occ = 3;
$period = new DatePeriod($time, $interval, $occ);
foreach($period as $d)
{
echo $d->format('d/m/Y H:i').'<br>';
}
输出:
31/05/2017 00:00
01/07/2017 00:00
01/08/2017 00:00
01/09/2017 00:00
如果交易是在5月31日购买的,则DatePeriod方法将迭代到7月1日作为下一个有效日期(6月31日),但是,我需要将正在进行日期的日期返回到8月31日等
所以输出结果为:
31/05/2017 00:00 (June payment)
01/07/2017 00:00 (July payment)
31/07/2017 00:00 (August payment)
31/08/2017 00:00 (September payment)
01/10/2017 00:00 (October payment)
31/10/2017 00:00 (November payment)
01/12/2017 00:00 (December payment)
31/12/2017 00:00 (January payment)
我正在努力计算如何确保付款日期是下一个有效日期。如果日期无效,则无法在预定日期之前付款,类似于直接借记。
答案 0 :(得分:0)
这不是一个非常优雅的解决方案,但下面提供了正确的输出:
on: { click: function() { test(j) } }