2016-08-09 6 views
1

Weiß jemand, warum dies zeigt das Datum 01-05-70?PHP-Datum von heute bis 4 Monate

$effectiveDate = strtotime("+4 months", strtotime($effectiveDate)); // returns timestamp 
echo date('d-m-y',$effectiveDate); // formatted version 

Ich möchte es das heutige Datum + 4 Monate drucken.

Antwort

2

In Ihrem Code $effectiveDate enthält ein ungültiges Datum. So strtotime() gibt die Unix-Epoche 1. Januar 1970 zurück.

Aber Sie sollten diese Variable überhaupt nicht brauchen, wenn alles, was Sie wollen, das Datum in vier Monaten ist.

echo date('d-m-y',strtotime('+4 months')); 
+0

Fantastische John, Vielen Dank. Weißt du, wie ich das Jahr 2016 als 16 ausdrücke? –

+0

Verwenden Sie ein Großbuchstabe Y: Echo-Datum ('d-m-Y', strtotime ('+ 4 Monate')); –

+0

Hallo John, das ist fantastisch, danke. Wer hätte gedacht, eine Hauptstadt Y? –

0
$today = date('d-m-y'); 
$monthsFour = date('d-m-y',strtotime("+4 months")); 
echo $today; 
echo "<br>"; 
echo $monthsFour; 

Ihre Frage in Kommentar: Do you know how I express the year as 2016 as opposed to 16? y Datum Funktion Ersetzen mit Kapital Y

Editiert:

$today = date('d-m-Y'); 
$monthsFour = date('d-m-Y',strtotime("+4 months")); 
echo $today; 
echo "<br>"; 
echo $monthsFour; 
0

Weiß jemand, warum dies hält zu zeigen das Datum 01-05-70 ?

$effectiveDate möglicherweise einen ungültigen Zeitstempel enthalten, ziehe ich die DateTime-Klasse, d.h .:

$d1 = DateTime::createFromFormat('d-m-Y', '09-08-2016'); 
$d1->add(new DateInterval('P4M')); 
echo $d1->format('d-m-Y'); 

Demo