Получить время завтра xx: xx

как эффективный способ получить определенное время на следующий день на Java? Скажем, я хочу на завтра 03:30:00. Настройка полей календаря и форматирования даты очевидна. Лучшие или умные идеи, спасибо, что поделились ими!

Оками

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
3 150
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Мне любопытно услышать, что другие люди говорят об этом. Мой собственный опыт показывает, что сокращение пути (например, «лучшие или более разумные идеи») с Date почти всегда приводит к неприятностям. Черт возьми, просто использование java.util.Date вызывает проблемы.

Добавлено: многие рекомендовали Джода Тайм в других темах, связанных с датами.

Не забывайте приводить примеры того, почему это доставляет вам неприятности.

Anton 26.09.2008 17:05

Ярлыки почти всегда игнорируют влияние часового пояса, перехода на летнее время, високосного года, секунды координации и т. д. Например, то же время, что и сейчас, завтра не обязательно сейчас + 86400 секунд.

Brandon DuRette 26.09.2008 17:12

Кроме того, я добавлю, что ошибки, связанные с эффектами TZ, DST и т. д., Представляют собой гнусные типы ошибок, которые легко ускользнуть от отдела контроля качества. В качестве доказательства рассмотрим, как в мире java.util.Date превратился в Java 1.0 со всеми проблемами, связанными с TZ.

Brandon DuRette 26.09.2008 17:16

Я бы подумал об использовании предопределенного API как умного способа сделать это.

Не знаете, почему бы вам просто не использовать объект Calendar? Это просто и удобно. Я согласен не использовать Date, почти все полезное в нем устарело. :(

Ответ принят как подходящий

Я использую метод грубой силы

// make it now
Calendar dateCal = Calendar.getInstance();
// make it tomorrow
dateCal.add(Calendar.DAY_OF_YEAR, 1);
// Now set it to the time you want
dateCal.set(Calendar.HOUR_OF_DAY, hours);
dateCal.set(Calendar.MINUTE, minutes);
dateCal.set(Calendar.SECOND, seconds);
dateCal.set(Calendar.MILLISECOND, 0);
return dateCal.getTime();

dateCal.setTime (new Date ()) является избыточным. Calendar.getInstance () возвращает календарь, который «основан на текущем времени в часовом поясе по умолчанию с локалью по умолчанию».

Brandon DuRette 26.09.2008 17:30

Другие вопросы по теме