2011-07-13 5 views
0
cal.set(Calendar.MONTH, 7); 
cal.set(Calendar.DATE,13); 
cal.set(Calendar.HOUR_OF_DAY, 11); 
cal.set(Calendar.MINUTE, 1); 
cal.set(Calendar.SECOND, 1); 
cal.set(Calendar.YEAR, 2011); 
cal.setTimeZone(TimeZone.getDefault()/*getTimeZone("GMT+5:30")*/); 

私は、日付と時刻を設定するには、上記のコードを使用していますが、私はcal.getTime()でそれを取得しようとすると設定した後、私はカレンダーを発行

として日付と時刻を取得します
sat Aug 13 11:01:01 America/NewYork 2011 
+2

「緊急」で質問をしないでください。 –

+0

投稿に質問や問題の定義はありません。 –

+0

-1、問題は、問題を解決するためにOPの部分にほとんど取り組まなかったことを示しています。 – mre

答えて

2

java.util.Calendarクラスの月数は0から始まりますが、実際の日を使用した日数です。これは極端にです。Java DateまたはCalendarクラスを使用してプログラムを初めて作成したときには、ほぼ誰もがそれを上回ります。

+0

あなたの答えのために多くの感謝:) – ghy

3

Javaカレンダークラスの月には、1から12ではなく0から11の番号が付けられます。したがって、必要な月の数から1を引いてください。

編集する:Calendarクラスには、Calendar.JANUARY(整数0)、Calendar.FEBRUARY(整数1)などの12ヶ月の12ヶ月の静的変数があります。可能であれば、整数ではなくそれらを使用することをお勧めします。

3

うん、これはあなたが設定したとおりです。

あなたはそれが7月であることが予想場合は、より密接にJavaDoc for Calendar.MONTHを読む必要がある - それは0ベースです:月を表すgetおよびセットのための

フィールド番号。これはカレンダー固有の値です。グレゴリオ暦とユリウス暦の年の最初の1か月は0です。最後は1年の月数に依存します。

あなたはブラックベリーにそれを使用することができる場合、私は実際には、代わりにJoda Timeを使用するためにあなたを促すだろう - それはずっと立派APIです。

関連する問題