dポイントプレゼントキャンペーン実施中!

サーブレットで現在の日付と時刻を取得しようとして、まず、日付と時刻を表示させるプログラムを書きました。

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

A 回答 (2件)

別に変ではないです。



フィールド MONTH は、1月が0になります。参考URL の API Document を参照ください。

参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …
    • good
    • 0
この回答へのお礼

ありがとうございます。

すみません、もっとしっかり見ないとダメですね。

お礼日時:2002/11/07 12:43

 そういう仕様です。



参考URL:http://www.borland.co.jp/qanda/jbuilder/jfaq0050 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!