年度の算出

年度とは、 特定の目的のために規定された1年間の区切り。

多くは、企業の会計に活用されており会計年度という。多くの日本企業は4月を決算月とし区切りにしていることが多い。

区切りの月を4月とした年度
2018年 2019年
1月2月3月4月5月6月7月8月9月10月11月12月 1月2月3月4月5月6月7月8月9月10月11月12月
2017年度 2018年度 2019年度
年度の算出の考え方

区切りの月を閾月(しきいつき)を設定。本例では4月とする。
何年度であるかを算出したい日付を入力日付とする。
   ※年度の数え方は西暦の想定。(例:2018年度 2017年度など)
・ 入力日付の月が閾月未満の場合、入力年度より一つ前の年度。
・ 入力日付の月が閾月以上の場合、入力日付の年と同じ年度。

//PHPの例
/**
 * @param int $input_date 入力日付
 * @param int $delimiter_month 閾月
 */
function getNND( $input_date = null, $delimiter_month = 4 )
{
  if( $input_date == NULL ) $input_date = time();
  $year = date( 'Y', $input_date);
  $month = date('m', $input_date);
  if( $month < $delimiter_month ) $year --;
  return $year;
}
//C++の例
#include <time.h>
int getNND( time_t now, int delimiter_month ){
     struct tm *pnow = localtime( &now );
     int year = pnow->tm_year + 1900;
     if( pnow->tm_mon < delimiter_month ) year --;
     return year;
 }