ТЛ; др
LocalDate.parse( "2011-01-01" )
.format( DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) )
java.time
Другие ответы устарели. Проблемные старые классы даты и времени, такие как java.util.Date
, java.util.Calendar
и java.text.SimpleDateFormat
теперь устаревшие , вытесненные Java .time занятия.
ISO 8601
Строка ввода 2011-01-01
соответствует стандарту ISO 8601 для даты и времени. Классы java.time по умолчанию используют эти стандартные форматы при разборе / генерации строк. Поэтому нет необходимости указывать шаблон форматирования.
LocalDate
Класс LocalDate
представляет значение только для даты без времени суток и без часового пояса.
LocalDate ld = LocalDate.parse( "2011-01-01" ) ;
Создайте строку в том же формате, вызвав toString
.
String output = ld.toString() ;
2011-01-01
DateTimeFormatter
Для разбора / создания других форматов используйте DateTimeFormatter
.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) ;
String output = ld.format( f ) ;
01.01.2011
О java.time
Инфраструктура java.time встроена в Java 8 и более поздние версии. Эти классы вытесняют старые классные устаревшие классы даты и времени, такие как java.util.Date
, Calendar
, & SimpleDateFormat
.
Проект Joda-Time , находящийся сейчас в режиме обслуживания , рекомендует перейти на классы java.time .
Чтобы узнать больше, см. Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310 .
Где получить классы java.time?
Проект ThreeTen-Extra расширяет java.time дополнительными классами. Этот проект является полигоном для возможных будущих дополнений к java.time. Здесь вы можете найти некоторые полезные классы, такие как Interval
, YearWeek
, YearQuarter
и more .