特定の月の月初・月末の日付を取得する

PHPで任意の月の月初・月末の日付が必要な時、date()とstrtotime()を組み合わせることで簡潔に書けるようになる。 例として先月の月初・月末の日付を取得する場合はこんな感じ。

$start = date("Y-m-01", strtotime("-1 month")); // 先月の初日
$end = date("Y-m-t", strtotime("-1 month")); // 先月の末日

簡単に解説。 まず、date()は日付を計算・返却するPHPの関数。 1つ目の引数でフォーマットを指定。「t」を指定すると月の末日を出力する。 2つ目の引数で入力文字列を元に日付を計算するstrtotimeを使い、一ヶ月前を指定している。

これらを組み合わせることで、任意の月の日付を取得することができる。