2016-05-09 6 views
1

Ich habe ein Abrechnungssystem, das das nächste Fälligkeitsdatum generiert, nachdem die Rechnung bezahlt wurde. Mein Problem ist jedoch, dass ich die nächste Rechnung basierend auf dem Datum erstellen möchte, an dem der letzte fällig war, und nicht, wann es bezahlt wurde.Erhalten von php, um Tage korrekt hinzuzufügen

Ich kenne Tage zum aktuellen Datum wie diese Zugabe:

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

sagen wir die Rechnung auf 2016.05.08 zurückzuführen war, aber es war auf 2016.05.12 bezahlt Wie würde ich das System dazu bringen, 30 Tage zu meiner Variablen $dueDate hinzuzufügen, die aus der Datenbank abgerufen wird und das Fälligkeitsdatum für die nächsten Rechnungen 30 Tage vor dem Datum festlegt? DateTime()

Antwort

0

Try this:

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

Das Ihr Datum formatiert wird, fügen Sie dann 30 Tage, um den alten wegen in einer Variablen gespeicherte Datum.

+0

Awesome! Lass mich das ausprobieren und ich werde es dich wissen lassen. –

+0

Das hat funktioniert. Danke –

+1

das ist wirklich eine schlechte Idee im Vergleich zu der DateTime-Klasse http://php.net/manual/en/class.datetime.php –

2

Verwendung:

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

Obwohl das Fälligkeitsdatum der nächsten Monate nicht 2016-05-08 wäre, könnte ich also eine Variable anstelle des tatsächlichen Datums in DateTimeImmutable setzen? –

+0

@MDavid ja, natürlich können Sie. '$ foo = '2016-05-08'; $ dueDate = new DateTimeImmutable ($ foo); ' –

+0

Süß! Versuchen Sie dies jetzt und lassen Sie wissen, ob es funktioniert hat. –

Verwandte Themen