2016-08-09 5 views
1

これはなぜ01-05-70の日付を表示し続けるのですか?PHPの日付から今日4ヶ月

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

今日の日付+ 4か月間印刷します。

答えて

2

コード$effectiveDateに無効な日付が含まれています。したがって、strtotime()は1970年1月1日のUnixエポックを返します。

しかし、あなたが望むのは今から4ヶ月後の日付であれば、その変数はまったく必要ありません。

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

ファンタスティック・ジョン、。私は16年ではなく、2016年としてどのように表現するのか知っていますか? –

+0

大文字のY:エコー日付( 'd-m-Y'、strtotime( '+ 4 months'))を使用します。 –

+0

こんにちはジョン、それは素晴らしいです、ありがとう。誰がサンクしただろう、首都Y? –

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

コメントでのご質問:Do you know how I express the year as 2016 as opposed to 16? は資本Y

と日付関数でyを置き換え編集:

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

これが示す続けている理由は、誰もが知っています01-05-70の日付?

$effectiveDate無効なタイムスタンプを含むことができ、私はすなわち、DateTimeクラスを使用して好む:本当にありがとうございました

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

Demo

関連する問題