Подтвердить что ты не робот

Сохранение простой информации о часах/минутах в Java - вопрос с лучшей практикой

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

Я хочу хранить информацию о расписании наших курсов, эта информация в основном состоит из начального и конечного времени (начало: HH: MM end: HH: MM). Теперь я буду использовать эти данные во всем коде для создания различных представлений и логики приложения.

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

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

должен ли я:

  • Реализовать мой собственный класс хранения часов и минут со всеми необходимыми проверками целостности и т.д.
  • Придерживайтесь того, что у меня есть, это не очень, но лучше, чем изобретать колесо.
  • Это удивительно чистое и простое решение, которое я забыл, и все знают о нем.

Теперь, очевидно, я не ожидаю черно-белого ответа здесь, но больше из того, как подойти к таким проблемам.

EDIT:

Я оригинальный плакат, я с тех пор зарегистрировался в учетной записи, но не могу ничего отправить, так как я не связан с этой записью.

После тщательного рассмотрения я считаю, что создание собственного решения для хранения этой информации - это самый простой и интуитивно понятный подход. Существующие инструменты являются блестящими, но гораздо более сложными, чем информация, которая мне действительно нужна, и, вероятно, приведет к более раздутому коду извлеките нужные предметы.

4b9b3361

Ответ 1

Вероятно, вам стоит взглянуть на Joda Time. Это лучше, чем использование только java.util.Date или запись собственной реализации даты и времени. Еще одним плюсом Joda Time является созданный объект, который неизменен и имеет множество полезных API-интерфейсов для управления дат-временем или выполнения проверок времени и времени.

Ответ 2

Возможно, рассмотрим только использование int для представления времени. Это будет значение от 0 до 1439 (количество минут в день). Таким образом, полдень будет представлен как 720 (12 * 60); 9:30 утра будет 570 (9 * 60 + 30), 9:30 вечера будет 1290 (21 * 60 + 30) и т.д.

Затем это может быть легко завершено в классе, чтобы извлечь/установить часы и минуты (подумайте о том, чтобы сделать этот класс неизменным, хотя).

JodaTime - отличная библиотека, но, возможно, избыточная сумма для того, что вы пытаетесь сделать здесь.

Ответ 3

Здесь класс java.sql.Time, который может служить этой цели, если он не был полностью нарушен. Я бы НЕ использовал Calender, так как это довольно раздутый класс, предназначенный для вычислений, и он также содержит часть даты. Я бы посмотрел на время joda, которое, скорее всего, имеет то, что вам нужно.

В противном случае я бы пошел на свой класс. Вам может понадобиться это, если вы не хотите хранить секунды и т.д.

Ответ 4

Лучшим подходом может быть использование времени Joda, поскольку у него есть объекты для описания времени суток, а также дней без времени и DateTimes. Обычно время Joda - это более удобная библиотека, особенно если вы хотите что-то немного отличающееся от встроенных классов.