- ベストアンサー
Calenderクラスを使うと変?
サーブレットで現在の日付と時刻を取得しようとして、まず、日付と時刻を表示させるプログラムを書きました。 APIドキュメントで探すとDateクラスのgetDate等が推奨されていないということだったので、Calendarクラスを使いました。 すると、月の表示がおかしいのです。年と日と時間はあっているのですが、月が10月になっているのです。(ちなみに今日なので、11月になるハズ・・・) パソコンの日付と時刻も今日(11月7日、タイムゾーン(GMT+09:00)大阪、札幌、東京)です。 そこで、DATEクラスを使うとちゃんと11月になっています。 どういうことなのでしょうか? import java.util.*; class Hiduke { public static void main(String args[]) { System.out.println(Calendar.getInstance()); Calendar calendar = Calendar.getInstance(); System.out.println(calendar.get(Calendar.YEAR)); System.out.println(calendar.get(Calendar.MONTH)); System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); Date d = new Date(); System.out.println(d); } } java.util.GregorianCalendartime=1036634060997,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null], firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2002,MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=2, DAY_OF_MONTH=7,DAY_OF_YEAR=311,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1, AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=54,SECOND=20,MILLISECOND=997,ZONE_OFFSET=32400000,DST_OFFSET=0] 2002 10 7 Thu Nov 07 10:54:21 JST 2002
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
別に変ではないです。 フィールド MONTH は、1月が0になります。参考URL の API Document を参照ください。
お礼
ありがとうございます。 すみません、もっとしっかり見ないとダメですね。