ドキュメントによると、カレンダー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);
output:
Wed Mar 01 19:32:21 JST 2000
1月30日ではない理由???
月の1は2月です。 2月30日は3月1日に変更されます。月には0を設定する必要があります。最良の方法は、カレンダーで定義された定数を使用することです:
c1.set(2000, Calendar.JANUARY, 30);
Calendarオブジェクトの月は0から始まります
0 = January = Calendar.JANUARY
1 = february = Calendar.FEBRUARY
この例で選択した日付は興味深いものです。コードブロックの例は次のとおりです。
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
。
私が最初に例を読んだとき、出力は間違っていると思いますが、本当です:)
Calendar.Month
は0から始まるため、1は2月を意味します。