有了小时和分钟,是否有比以下更简单更好的方式将其设置为日历对象:
calendar.set(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
hour, minute);
有了小时和分钟,是否有比以下更简单更好的方式将其设置为日历对象:
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)。第一个参数是钟点/分钟/秒的字段编号。
2018年不再应使用Calendar
类。它已经过时了,而现代Java日期和时间APIjava.time
更好用。根据您的具体要求使用ZonedDateTime
,或者也许使用OffsetDateTime
或LocalDateTime
。在任何情况下,设置时间方式如下:
dateTime = dateTime.with(LocalTime.of(hour, minute));
链接:Oracle教程日期时间
除了Xn0vv3r提供的优秀答案之外,不要忘记设置
calendar.set(Calendar.SECOND, 0);
的中文翻译是: calendar.set(Calendar.SECOND, 0);