2016-05-09 7 views
1

私は、請求書の支払い後に次回の期日を生成する請求システムを持っています。私の問題は、私は、それが支払われたときではなく、最後のものが期日であった日付に基づいて次の請求書を生成することです。日付を正しく追加するPHPを取得する

私はこのような現在の日付に日数を追加することに慣れてる:

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

は、請求書は、2016年5月8日の予定だったが、それがどのように2016年5月12日 に支払われたとしましょう私は30日を私の変数$dueDateに追加して、データベースから引き出して、前の30日分の次の請求書期日を設定しますか?

答えて

0

はこれを試してみてください:

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

あなたの日付をフォーマットします、その後、変数に格納されている古い期日の30日を追加します。

+0

驚くばかり!これを試してみましょう、私はあなたに知らせるでしょう。 –

+0

これはうまくいった。ありがとう –

+1

これは実際にはDateTimeクラスと比較して悪い考えですhttp://php.net/manual/en/class.datetime.php –

2

使用DateTime()

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

次の月の予定日は2016-05-08ではありませんが、DateTimeImmutableに実際の日付の代わりに変数を入れることができますか? –

+0

@MDavidはい、もちろん可能です。 '$ foo = '2016-05-08'; $ dueDate = new DateTimeImmutable($ foo); ' –

+0

Sweet!今これを試して、それが働いた場合にお知らせします。 –

関連する問題