最近仕事で使ったコードの紹介。
PHPで現在の日付に任意の日数を加算、また減算した日付を取得する方法がこちらのコード。
1 2 3 4 5 | $now = date ( 'Y-m-d' ); // 2021-12-15 $date = strtotime ( $now ); $newDate = date ( 'Y-m-d' , strtotime ( '+1 day' , $date )); echo $newDate ; // 2021-12-16 |
コードの解説をしていこう。
まず1行目、$now
に現在の日付を2021-12-15
の形式で保存する。
2行目で、日付・時刻形式の文字列$now
をstrtotime()
関数を使ってUnixタイムスタンプに変換。
最後に3行目、まずstrtotime()
関数の第二引数に基準日となる日付を渡す。
この時渡す値はタイムスタンプとして渡す必要があるため、あらかじめ2行目で変換処理をおこなっているというわけだ。
strtotime()
関数の第一引数には加算・減算する値を決まった書式で指定する。
書式は単純な加算・減算のほか、3行目のような特殊な書き方もある。
1 2 3 | strtotime ( '+1 day' , $date ); // 1日後 strtotime ( '-1 week' , $date ); // 1週間前 strtotime ( 'next Thursday' , $date ); // 翌週の木曜日 |
詳しくは公式ドキュメントを見ると良い。