web-dev-qa-db-ja.com

HOUR_OF_DAYの範囲は?

簡単な質問ですが、見つかりませんでした。

HOUR_OF_DAYの範囲は0から23、または1から24ですか?

ランダムなHOUR_OF_DAYが必要ですが、必要ですか?

        int randomHour = (int) (Math.random()*24);

または

        int randomHour = (int) (Math.random()*24+1);
16
Sander

ドキュメント から:

時刻を示すgetおよびsetのフィールド番号。 HOUR_OF_DAYは24時間制で使用されます。例:10:04:15.250 PM the HOUR_OF_DAYは22です。

10:04:15.250の場合PMはHOUR_OF_DAY 22、それは範囲になります0-23。だったら124、 午後10時。そして、それは非常に多くのレベルで間違っているでしょう。 :-)

39
T.J. Crowder

0-23です。

以下のコードを実行してテストしました

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, 24);
    System.out.println(calendar.get(Calendar.HOUR_OF_DAY));

出力は0です。

走れば

    calendar.set(Calendar.HOUR_OF_DAY, 23);

出力は23になります。

走れば

    calendar.set(Calendar.HOUR_OF_DAY, 25);

出力は1になります。

10
Saurabh Gupta

範囲は0〜23です

これを実行

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY);
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));

時刻が午前12時の場合、出力は0になります。

時間が11 PM=の場合、出力は23になります。

4
Mujahid