我在使用日历时遇到了跳过时区的问题。 我的问题描述如下: 我有一个从“x”日期开始的事件,我需要添加小时数,但不改变时钟时间。 例如,如果我的事件是2019-03-09 22:46:00,并且我添加2400小时(100天),我的输出将是“2019-06-17 23:46:00”,因为时区改变了。我需要输出为2019-06-17 22:46:00。 我该如何使用日历来实现? calendar = 我的第一个事件日期 calendar2 = 在第一个日历基础上添加小时后返回我的下一个事件的日期。
while (calendar.compareTo(calendar2) < 0) {
calendar.add(Calendar.HOUR_OF_DAY, nr_hours);
}
nextEvent =sdf.format(calendar.getTime());
return nextEvent;
Calendar
;它有各种问题,而且已经过时了。请使用LocalDateTime
。 - chrylis -cautiouslyoptimistic-ZonedDateTime
或者OffsetDateTime
。 - deHaar