ТЛ; др
LocalDate.parse(
"19/05/2009" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu" )
)
Подробнее
Остальные ответы с java.util.Date
, java.sql.Date
и SimpleDateFormat
устарели.
LocalDate
Современный способ создания даты и времени - это работа с классами java.time, в частности LocalDate
. Класс LocalDate
представляет значение только для даты без времени суток и без часового пояса.
DateTimeFormatter
Чтобы проанализировать или сгенерировать строку, представляющую значение даты и времени, используйте класс DateTimeFormatter
.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );
LocalDate ld = LocalDate.parse( "19/05/2009" , f );
Не путайте объект даты и времени со строкой, представляющей его значение. Объект даты и времени имеет нет в формате , в то время как String имеет. Объект даты и времени, такой как LocalDate
, может генерировать строку для представления ее внутреннего значения, но объект даты и времени и отдельные строки являются отдельными объектами.
Вы можете указать любой произвольный формат для генерации строки. Или позвольте java.time выполнить работу по автоматической локализации.
DateTimeFormatter f =
DateTimeFormatter.ofLocalizedDate( FormatStyle.FULL )
.withLocale( Locale.CANADA_FRENCH ) ;
String output = ld.format( f );
Дамп на консоль.
System.out.println( "ld: " + ld + " | output: " + output );
ld: 2009-05-19 | выходной: марди 19 май 2009
Смотрите в действии на IdeOne.com .
О java.time
Фреймворк java.time встроен в Java 8 и более поздние версии. Эти классы заменяют проблемные старые устаревшие классы даты и времени, такие как java.util.Date
, Calendar
, & SimpleDateFormat
.
Проект Joda-Time , теперь в режиме обслуживания , рекомендует перейти на классы java.time .
Чтобы узнать больше, см. Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310 .
Вы можете обмениваться java.time объектами напрямую с вашей базой данных. Используйте драйвер JDBC , совместимый с JDBC 4.2 или более поздней версии. Нет необходимости в строках, нет необходимости в java.sql.*
классах.
Где получить классы java.time?
Проект ThreeTen-Extra расширяет java.time дополнительными классами. Этот проект является полигоном для возможных будущих дополнений к java.time. Здесь вы можете найти несколько полезных классов, таких как Interval
, YearWeek
, YearQuarter
и more .