Современный ответ:
String str = "2010-06-13T00:00:00";
LocalDateTime dateTime = LocalDateTime.parse(str);
System.out.println("Date-time " + dateTime);
Вывод:
Дата и время 2010-06-13T00: 00
Я использую и рекомендуюjava.time
, современный Java API даты и времени.Нам даже не нужен явный форматер для разбора.Это потому, что ваша строка имеет формат ISO 8601, международный стандарт, который классы java.time
анализируют как значения по умолчанию.java.time
вышел в 2014 году.
В то время как в 2010 году, когда был задан этот вопрос, SimpleDateFormat
был тем, что у нас было для разбора дат и времени, этот класс теперь считается давно устаревшим, к счастью, потому что он такжехлопотно.
Если ваша строка содержала только дату без времени суток, используйте класс LocalDate
совершенно таким же образом (об этом был задан в дублирующий вопрос ).
String dateStr = "2018-05-23";
LocalDate date2 = LocalDate.parse(dateStr);
System.out.println(date2);
2018-05-23
Ссылка: Обучающая программа Oracle: Дата Время Объяснениекак пользоваться java.time
.