javaで西暦→和暦変換がうまくいかない
画面入力値の西暦を、和暦に変換する必要があり、質問します。
以下スースの通り作成したのですが、入力値の「月」が+1されてしまいます。
解決法を教えてください。
入力値(以下ソースのcalender.set(2016, 3, 24);部分) → 2016, 3, 24
実行結果 → 平成28年4月30日
となり3月となってほしいのに4月となってしまいます。
import java.text.*;
import java.util.*;
public class MyTest {
public static void main(String[] args) {
Locale defaultLocale = new Locale("ja", "JP", "JP");
DateFormat japaneseFormat = new SimpleDateFormat("GGGGy年M月d日",
defaultLocale);
Calendar calender = Calendar.getInstance();
calender.set(2016, 3, 24);
System.out.println(japaneseFormat.format(calender.getTime()));
}
}
ポイントは、システム日付ではなく、外部から与えられた引数で西暦→和暦に変換したいです。