Краткий способ получения даты из java.util.date - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь получить дату только из java.util.date.Я знаю, что могу установить время на 0, но я ищу более чистый, более краткий способ, если это возможно.Это существует?

Спасибо!Krt_Malta

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Другим вариантом является метод truncate в библиотеке DateUtils.Вы вводите дату и поле, до которого вы заинтересованы (в данном случае CALENDAR.DAY_OF_MONTH).Остальные будут установлены на 0. Эффективно:

DateUtils.truncate(Calendar.getInstance(), Calendar.DAY_OF_MONTH).getTime() 

сделал работу.

Более подробная информация о методе: http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/time/DateUtils.html#truncate%28java.lang.Object,%20int%29

0 голосов
/ 08 марта 2011

Более чистый способ - использовать Joda Time для начала, где существуют отдельные понятия LocalDate, LocalTime, LocalDateTime, DateTime, Instant и т. Д.

Вы можете переводить между типами java.util.Date и Joda, но я бы посоветовал вам придерживаться Joda для максимально возможного количества кода и переводить только тогда, когда вам действительно нужно .

Извините, если вы надеялись избежать дополнительной библиотеки - но Joda , поэтому намного лучше, чем встроенный API, стоит потратить деньги на IMO. Обратите внимание, что в типах Java вам нужно определить, какой часовой пояс вас интересует - java.util.Date определяет момент времени, который может происходить в три разные даты по всему миру в зависимости от вашего часового пояса. .

...