Как уже говорилось, методы java.util.Date устарели, потому что команда Java считала, что у них есть лучшее решение в java.util.Calendar.
К сожалению, этот класс также оказался запутанным, хлопотным и плохо продуманным.
Так что, да, вы должны избегать устаревших методов из-за их замены.Но теперь эти замены (.Calendar) имеют замену (java.time).
java.time
Все старые классы даты и времени были вытеснены java.timeФреймворк , встроенный в Java 8. Новые классы основаны на очень успешном фреймворке Joda-Time , задуманном как его преемник, похожем по концепции, но с измененной архитектурой.Определяется JSR 310 .Расширена проектом ThreeTen-Extra .См. Учебное пособие .
. Используйте пакет java.time.format
для анализа и генерации строковых представлений значений даты и времени.
String input = "07/23/2010";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MM/dd/yyyy" );
новые классы включают LocalDate
для представления значения только для даты без времени суток.
LocalDate localDate = LocalDate.parse( input , formatter );
Если вы вызываете toString
в LocalDate, вы получаете строковое представлениезначение даты в стандартном формате ISO 8601 , ГГГГ-ММ-ДД.Чтобы создать строку в других форматах, определите другой форматер.Или вызовите методы localize, чтобы java.time проделал большую работу по определению определенного локализованного формата.