22

現在の日付+2か月を表示するために、このコードを作成しました。

<?php
    $date = date("d/m/Y");
    $date = strtotime(date("d/m/Y", strtotime($date)) . "+2 months");
    $date = date("d/m/Y",$date);
    echo $date;
?>

1970年1月3日と表示されているため、機能していないようです。

私は何が間違っているのですか?

ご協力いただきありがとうございます。

編集 :

コメントと回答を読んだ後、私はそれを単純化して修正しました。

<?php
    $date = date("d/m/Y", strtotime(" +2 months"));
    echo $date;
?>
4

4 に答える 4

42

strtotime()2 番目の呼び出しの 2 番目の引数がありません。

echo date('d/m/Y', strtotime('+2 months'));
于 2012-05-14T15:45:02.407 に答える
13

DateTime オブジェクトを使用してみてください:

$date = new DateTime("+2 months");
echo $date->format("d/m/Y");
于 2012-05-14T15:44:51.900 に答える
3

今日が「YYYY-mm-31」で、翌月に 31 日がない場合は、その日の翌月が表示されるため、システムが「+2 か月」の結果ではなく「+3 か月」の結果を表示するようにします。

したがって、これが最も安全だと思います:

$end_date=date("Y-m-d",strtotime("+2 month",strtotime(date("Y-m-01",strtotime("now") ) )));

最初に日付を 1 日目に変更します。

于 2016-07-28T03:48:34.737 に答える