PHP:月末の日付の求め方
最近もわからなくなって、昔のソースコードを探してた。
photo credit: pvera via photo pin cc
プログラムを作っていると、データを抽出するときに月末の日付が欲しいことがある。
if文かSQLの条件で、
日付データ < 2012/8/1
とすればいいのはわかっているが、やはり月末というのが意識したいので、
日付データ <= 2012/7/31
としたい。
今回もそういう意識があって、月末の日付を求めたくなったが、なんとなくしか覚えていなくて昔のソースコードから処理を探してきた。
方法自体は簡単で、mktime関数で日付を0にすると、前月の末日を指定したことになるので、
$dt = mktime(0, 0, 0, '8', 0, '2012'); $dateStr = date("Y", $dt) . "/" . date("m", $dt) . "/" . date("d", $dt);
とすれば、$dateStrには"2012/07/31"が代入される。
mktime関数は日付の有効性チェックをしてくれるので
$dt = mktime(0, 0, 0, 12+2, 0, '2012'); $dateStr = date("Y", $dt) . "/" . date("m", $dt) . "/" . date("d", $dt);
とすれば、$dateStrには"2013/01/31"が代入される。
関数の機能を知っていれば簡単に実現できるので、できるということを知っておきたい。