Каков диапазон 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);

Ответ 1

Из документации:

Номер поля для get и set, указывающий час дня. HOUR_OF_DAY используется для 24-часовых часов. Например, в течение 10: 04: 15 ч. 250 м. HOUR_OF_DAY равно 22.

Если 10: 04: 15.250 PM HOUR_OF_DAY 22, это сделает диапазон 0 - 23. Если это было 1 до 24, 10 часов. будет 23. И это было бы неправильно на стольких уровнях.: -)

Ответ 2

Это 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.

Ответ 3

Диапазон находится между 0 и 23

Запустите этот

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

Если время 12 AM, выход будет 0

и если время составляет 11 вечера, выход будет равен 23