web-dev-qa-db-fra.com

quelle est la plage de HOUR_OF_DAY?

Une question simple, mais je ne l'ai pas trouvée:

La plage de HOUR_OF_DAY est-elle comprise entre 0 et 23 ou 1 et 24?

Je veux un HOUR_OF_DAY aléatoire, ai-je besoin de:

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

ou

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

De la documentation :

Numéro de champ pour get et set indiquant l'heure de la journée. HOUR_OF_DAY est utilisé pour l'horloge de 24 heures. Par exemple, à 10: 04: 15.250 PM le HOUR_OF_DAY a 22 ans.

Si 10: 04: 15.250 PM est HOUR_OF_DAY 22, Cela ferait la gamme 0 - 23. Si c'était 1 à 24, 22 heures serait 23. Et ce serait faux à tant de niveaux. :-)

39
T.J. Crowder

C'est 0-23.

Je l'ai testé en exécutant le code ci-dessous

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

La sortie est 0.

Si vous courez

    calendar.set(Calendar.HOUR_OF_DAY, 23);

La sortie sera 23.

Si vous courez

    calendar.set(Calendar.HOUR_OF_DAY, 25);

La sortie sera 1.

10
Saurabh Gupta

La plage est comprise entre 0 et 23

Lance ça

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

Si l'heure est 12 h, la sortie sera 0

et si le temps est 11 PM la sortie sera 23

4
Mujahid