@Satoh_D no blog

大分にUターンしたので記念に。調べたこととか作ったこととか食べたこととか

【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ということで。