让php正确地添加日期


Getting php to properly add days to date

我有一个发票系统,它在发票付款后生成下一个到期日。不过,我的问题是,我想根据上一张发票的到期日期生成下一张发票,而不是根据何时付款。

我熟悉在当前日期上添加天数,例如:

$nextduedate = date('Y-m-d', strtotime("+30 days"));

假设发票于2016-05-08到期,但已于2016-05-12支付我如何让系统将30天添加到从数据库中提取的变量$dueDate中,并将下一个发票到期日设置为30天?

使用DateTime():

$dueDate = new DateTimeImmutable('2016-05-08');
$nextInvoice = $dueDate->modify('+30 days');
echo $nextInvoice->format('Y-m-d');

试试这个:

$nextduedate = ('Y-m-d', strtotime($duedate. ' + 30 days'));

这将格式化您的日期,然后在存储在变量中的旧到期日上添加30天。