【PHP】strtotimeを使用した日付の加算減算方法
日付計算をするときに使用する「strtotime」を紹介します。
strtotimeを使ったサンプル
<?php // 昨日/明日 strtotime("-1 day"); strtotime("+1 day"); // 一週間前/一週間後 strtotime("-1 week"); strtotime("+1 week"); // 一ヶ月前/一ヶ月後 strtotime("-1 month"); strtotime("+1 month"); // 一年前/一年後 strtotime("-1 year"); strtotime("+1 year"); ?>
そのまま、出力すると「UNIX TIMESTAMP」形式の数値が表示されますので、「date」関数を使って日付に変換していきます。
date関数とstrtotimeを合わせて、日付を取得するサンプル
<?php // 昨日/明日 date("Y-m-d", strtotime("-1 day")); date("Y-m-d", strtotime("+1 day")); // 一週間前/一週間後 date("Y-m-d", strtotime("-1 week")); date("Y-m-d", strtotime("+1 week")); // 一ヶ月前/一ヶ月後 date("Y-m-d", strtotime("-1 month")); date("Y-m-d", strtotime("+1 month")); // 一年前/一年後 date("Y-m-d", strtotime("-1 year")); date("Y-m-d", strtotime("+1 year")); ?>
月単位で計算をする際には、下記のコードで処理する方が良さそうです。
一ヶ月前後を取得する際には下記のコード
<?php // 一ヶ月前/一ヶ月後 date("Y-m-01", strtotime("-1 month")); date("Y-m-01", strtotime("+1 month")); ?>
月末を取得するには、下記ので取得可能です。
月末を取得するサンプル
<?php // 一ヶ月前の月末/一ヶ月後の月末 echo date('Y-m-t', strtotime(date('Y-m-01').'-1 month')); echo date('Y-m-t', strtotime(date('Y-m-01').'+1 month')); //当月の月末 echo date('Y-m-t'); ?>
以上が個人的にもよく使う、「strtotime」関数の使用一覧となります。
他にもいろんな使い方ができますので、オススメな使い方などあれば、コメント欄に記述して頂けると幸いです。
2016年3月2日追記
strtotimeのように日付の加算減算ができる、Carbonの記事をアップしました。
zen6a.hateblo.jp