2

HOUR_OF_DAY,Minute and SecondCalendar クラスを使用して印刷しようとしています。コードで以下のコマンドを使用しました。

  System.out.println(
      Calendar.HOUR+" "+
      Calendar.HOUR_OF_DAY+" "+
      Calendar.MINUTE+" "+
      Calendar.SECOND+" "
      );

次のような出力が得られます。

10 11 12 13 

この数時間前に実行したときでも、同じ出力が得られました。

現在の時間を 24 時間形式で表示すると思いますが、その出力が得られません。

だから私は、このHOUR_OF_DAYHOURが何を印刷するのか知りたい のです。

どうか明らかにしてください。

4

6 に答える 6

6

Calendar.HOURなどは、日付/時刻の側面を識別するために使用されるCalendar.HOUR_OF_DAY単なる定数です。通常、次のように使用されます。

Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);

定数自体を出力したい状況を簡単に思いつくことはできません。

intそれを使用していたとしても、文字列連結を介して値を値に変換するStringことになります.明示的に指定していないため、必要な形式についてはわかりません. 「2桁フォーマットint」というものはありません... anintは単なる数字です。

調べる必要がありますDateFormat-SimpleDateFormatこれは、標準の Java クラス ライブラリを使用して日付と時刻をフォーマットするための推奨される方法です。(個人的には、はるかに優れた日付/時刻 API としてJoda Timeを検討することをお勧めしますが、それは別の問題です。)

例えば:

DateFormat formatter = new SimpleDateFormat("HH:mm:ss");
// Prints the current time using 24-hour format
System.out.println(formatter.format(new Date());
于 2013-10-03T07:49:17.543 に答える
3

これを試して

Calendar cal = Calendar.getInstance();

System.out.println(
  cal.get(Calendar.HOUR)+" "+
  cal.get(Calendar.HOUR_OF_DAY)+" "+
  cal.get(Calendar.MINUTE)+" "+
  cal.get(Calendar.SECOND)+" "
  );
于 2013-10-03T07:51:51.970 に答える
2

あなたがしたことは、カレンダー定数の値を出力したことです。

を使用して Calendar のインスタンスを作成しますCalendar cal = Calendar.getInstance();(これにより、デフォルトのタイムゾーンとデフォルトのロケールを持つ現在の時刻と日付を持つカレンダーのインスタンスが作成されます)

HOUR_OF_DAY, HOURを使用しての値を出力できますcal.get(Calendar.HOUR_OF_DAY)cal.get(Calendar.HOUR)

于 2013-10-03T07:50:47.437 に答える
0

Calendar.HOUR、Calendar.HOUR_OF_DAY、Calendar.MINUTE、および Calendar.SECOND は、Calendar オブジェクト内のフィールドにアクセスするために使用される定数です。最初に Calendar オブジェクトを作成してから、これらの定数を使用して get() メソッドを使用してそのフィールドにアクセスする必要があります。

詳細については、 java.util.Calendarを試してください。

私は Jon Skeet に負けました - 彼の答えはほぼ完璧で、良い出発点です。

于 2013-10-03T07:52:46.750 に答える
0

GregorianCalender を見てください ( http://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html )。これはおそらくあなたが探しているものです。

于 2013-10-03T07:49:30.150 に答える