ドキュメントによると、calendar set() は次のとおりです。
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#set%28int,%20int,%20int%29
set(int year, int month, int date)
Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH.
コード:
Calendar c1 = GregorianCalendar.getInstance();
c1.set(2000, 1, 30); //January 30th 2000
Date sDate = c1.getTime();
System.out.println(sDate);
出力:
Wed Mar 01 19:32:21 JST 2000
なぜ1月30日ではないのでしょうか?
ベストアンサー1
月の 1 は 2 月です。2 月 30 日は 3 月 1 日に変更されます。月には 0 を設定する必要があります。最善の方法は、Calendar で定義されている定数を使用することです。
c1.set(2000, Calendar.JANUARY, 30);