SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【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 をコンパイルする必要があります。 残念ながら使えない環境の場合もあります。

関連するメモ

コメント