【php】ある日が月末かどうか判定する
月末とは何か。
「1日足したら翌月になる日が月末」と考えることができるので、こう書ける。
月末判定 - 日付の形をした文字列を渡せるとき。タイムスタンプ使用の例
function isGetsumatsu($a)
{
return date("d", strtotime($a) + 60 * 60 * 24) == '01';
}
月末判定 - 年、月、日を渡せるとき。カレンダー関数使用の例
function isGetsumatsu($y, $m, $d)
{
$jd = GregorianToJD($m, $d, $y);
$x = cal_from_jd($jd + 1, CAL_GREGORIAN);
return ($x['day'] == 1);
}
date()関数やカレンダー関数である月の日数を知ることもできるので、それを利用するのも正解。
カレンダー関数を動作させるには、--enable-calendar を指定して PHP をコンパイルする必要があります。 残念ながら使えない環境の場合もあります。