Как вы устанавливаете время и только время в календаре на Java? - PullRequest
31 голосов
/ 20 января 2009

Имея часы и минуты, есть ли более простой или лучший способ установить его в объект календаря, чем:

calendar.set(calendar.get(Calendar.YEAR),
                        calendar.get(Calendar.MONTH),
                        calendar.get(Calendar.DAY_OF_MONTH),
                        hour, minute);

Ответы [ 3 ]

70 голосов
/ 20 января 2009

С здесь :

calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
5 голосов
/ 20 января 2009

Использовать set (поле int, значение int) . Первый параметр - это номер поля для HOUR / MINUTE / SECOND.

2 голосов
/ 13 января 2018

В 2018 году никто не должен больше использовать класс Calendar. Он давно устарел, и с java.time современным API даты и времени Java гораздо приятнее работать. Вместо этого используйте, в зависимости от ваших точных требований, ZonedDateTime или, возможно, OffsetDateTime или LocalDateTime. В любом случае установите время суток следующим образом:

dateTime = dateTime.with(LocalTime.of(hour, minute));

Ссылка : Учебное пособие по Oracle Дата Время

...