No.328


【PHP】ある月の初日と末日を求める

翌月初日から1引いて当月初日とか面倒くさくて死ぬ

 ある月(YYYY/MM)の月初と月末の日を求める方法。今までは計算式で出してたけど、相対的な書式を使うと非常にシンプルにかけた。

YYYY/MMの初日
date("Y/m/d", strtotime("first day of YYYY/MM"));
当月の初日
date("Y/m/d", strtotime("first day of"));
YYYY/MMの末日
date("Y/m/d", strtotime('last day of YYYY/MM"));
当月の末日
date("Y/m/d", strtotime('last day of"));

 -1 dayなどは以前からは使っていたけど、こういう複雑なものまで用意されてるのは知らなかった。勉強になる。

 詳しくはPHPマニュアルを参照のこと。

相対的な書式

 個人的には`Monday next week'とか便利すぎて泣けてくる。