【PHP】指定した年月から年度を計算する
今やっている案件で「入会年月」から「何年度」かを計算する必要があったのでメモします。
仕様としては以下のとおりです。
年度計算の仕様
- 年と月からその年が何年度かを計算
- 決算月は3月であり、1〜3月はその前の年 + 年度を返す (例: 2015年3月 → 2014年度)
出来上がり
結果、以下のように実装しました
/** * 年月から年度を計算する * @param int $year 年 * @param int $month 月 * @param int $fiscalMonth 決算月 * @return int 年度 */ function calcFiscalYear($year, $month, $fiscalMonth) { if ($month > $fiscalMonth) { return $year; } return $year - 1; }
使うときはこんなかんじで。
// 2015年3月は何年度か計算する(決算月は3月で想定) echo calcFiscalYear(2015, 3, 3); // → 2014 // 2015年4月は何年度か計算する(決算月は3月で想定) echo calcFiscalYear(2015, 4, 3); // → 2015
決算月は変わる可能性があるのでdefined関数等で定数化していても良いかもですね。
年度も変わったことですし、調度良いTipsということで。