tl; д-р
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 );
Не пов'язуйте об'єкт дати та часу з рядком, що представляє його значення. Об'єкт дати та часу не має формату , тоді як рядок має. Об'єкт дати-часу, наприклад 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: 19.05.2009 | вихід: 19 травня 2009 р
Дивіться в дії на IdeOne.com .
Про java.time
Java.time каркас вбудований в Java 8 і пізніших версій. Ці класи витісняти неприємні старі застарілі класи дати і часу , такі як java.util.Date, Calendar, і SimpleDateFormat.
Проект Joda-Time , який зараз перебуває в режимі обслуговування , радить перейти на класи java.time .
Щоб дізнатись більше, див. Підручник Oracle . І шукайте в Stack Overflow багато прикладів та пояснень. Специфікація - JSR 310 .
Ви можете обмінювати об'єкти java.time безпосередньо з базою даних. Використовуйте драйвер JDBC, сумісний з JDBC 4.2 або новішою. Не потрібні рядки, не потрібні java.sql.*класи.
Де отримати класи java.time?
Проект ThreeTen-Extra розширює java.time додатковими класами. Цей проект є полігоном для можливих майбутніх доповнень до java.time. Ви можете знайти деякі корисні класи тут , такі як Interval, YearWeek, YearQuarter, і більш .