Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как игнорировать изменение летнего времени в функции Joda DateTime.plusDate

Автор вопроса: RaTОтветов: 1

Я использую приведенный ниже код, чтобы добавить 1 день.

DateTime userOriginalStartDate = new DateTime(shiftStartEndDuration.getStart());
userOriginalStartDate = userOriginalStartDate.plusDays(1);

когда мое время 07 марта 2015 г. 8:00 (8 марта переход на летнее время) оно меняется на 08 марта 2015 г. 9:00. Это добавляет 1 дополнительный час из-за летнего времени, но я уже рассчитал летнее время, поэтому в этом месте я хочу игнорировать это изменение. Есть ли способ игнорировать изменение летнего времени

javajodatimedst

Ответы

Ответ 1 · рейтинг 2 · Strelok

Вместо этого используйте LocalDateTime, который не несет информацию о часовом поясе, добавьте и затем преобразуйте обратно в DateTime.

LocalDateTime localUserOriginalStartDate = new LocalDateTime(shiftStartEndDuration.getStart());
DateTime userOriginalStartDate = localUserOriginalStartDate.plusDays(1).toDateTime();

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы