Какие варианты использования оправдывают тип 310 OffsetDate? - PullRequest
3 голосов
/ 17 октября 2011

OffsetDate представляет дату со смещением зоны. Я не понимаю цели, которой служит этот класс. Каковы основные варианты использования, оправдывающие его существование?

1 Ответ

2 голосов
/ 21 октября 2011

При анализе основных компонентов дат и времени выделяются четыре основных элемента:

  • дата
  • время
  • смещение (часы плюс / минус от Гринвича)
  • часовой пояс

Эти естественно образуют семь классов:

  • LocalDate - только дата
  • LocalTime - только время
  • LocalDateTime - дата + время
  • OffsetDate - дата + смещение
  • OffsetTime - время + смещение
  • OffsetDateTime - дата + время + смещение
  • ZonedDateTime - дата + время + смещение + зона

(часовой пояс можно использовать, только если вы знаете дату и время, поэтому класс ZonedDate или ZonedTime отсутствует)

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

Обновление: 2013-01-24: OffsetDate не будет в JDK 1.8.

...