4

これが機能しない理由がわかりません。

私はこれを完全に間違っているかもしれませんが、誰かが助けてくれることを願っています.

日付があり、その日付に 2 年を追加したいと考えています。コードを実行すると、開始した日付のみがエコーされます。

私がどこで間違ったのか誰か知っていますか?今日の日付ではなく $start_date の日付のみを使用したい。

$start_date = "2013-05-06 13:18:56";
    $targetDate = date($start_date, strtotime('+2 Years'));
    echo $targetDate;
4

3 に答える 3

10

あなたはこれを求めている:

$new_date = date('Y-m-d H:i:s', strtotime('+2 years', strtotime($from_date)));

日付形式のオプションについては、ドキュメントをご覧ください。

于 2013-05-06T04:07:13.483 に答える
2

もう 1 つのオプションは、PHP に組み込まれているDateTimeクラスを使用することです。

$date = \DateTime::createFromFormat('Y-m-d H:i:s', "2013-05-06 13:18:56");
var_dump($date);
$interval = new DateInterval('P2Y');
$date->add($interval);
var_dump($date);

これからの出力は次のようなものです:-

object(DateTime)[1]
  public 'date' => string '2013-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)
object(DateTime)[1]
  public 'date' => string '2015-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)
于 2013-05-06T11:00:33.287 に答える