有了小时和分钟,有没有比以下更简单或更好的方法将其设置为 Calendar 对象:
calendar.set(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
hour, minute);
从这里:
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
使用set(int field, int value)。第一个参数是 HOUR/MINUTE/SECOND 的字段编号。
在 2018 年,没有人应该再使用该Calendar
课程了。它早已过时,而且java.time
现代 Java 日期和时间 API 使用起来更方便。取而代之的是,根据您的确切要求,使用 aZonedDateTime
或者可能是OffsetDateTime
or LocalDateTime
。无论哪种情况,请以这种方式设置一天中的时间:
dateTime = dateTime.with(LocalTime.of(hour, minute));
除了Xn0vv3r 公认的答案之外,别忘了设置
calendar.set(Calendar.SECOND, 0);