[Java] 日付から年度を求める

企業会計においては、期間の日数、期間の始期及び終期は各事業者が決定するが、期間は1年間とされることが一般的である。公共機関についても、期間は1年間とされるのが通例であり、日本では、後述の財政法及び地方自治法の規定により毎年4月1日から翌年の3月31日までの期間とされている。

引用元:『会計年度 – Wikipedia』より

ご存じの通り、「年度」は「4月1日から翌年の3月31日までの期間」を指します。

投げられた年月日に対して、それは前年度なのか今年度なのかを判定し、その年度を返します。


// 会計年度 作成
Date date1      = new Date(); // 投げられたDateとする
Date fiscalYear = null;
SimpleDateFormat sdf = new SimpleDateFormat("MM");

try {
	// 月の取得
	String dateStr     = sdf.format(date1);
	int JanFebMarCheck = Integer.parseInt( dateStr );
	
	// 1~3月の場合、前年度となるので 西暦から-1する
	if( JanFebMarCheck < 4 ){
		Calendar nextCal = Calendar.getInstance();
		nextCal.setTime(date1);
		nextCal.add(Calendar.YEAR, -1);
		fiscalYear = nextCal.getTime();
	}
	
} catch (Exception e) {
	e.printStackTrace();
}

動かしては無いのですが、恐らく大丈夫でしょう。
参考までに。

twitterfacebookhatenafacebook