Преобразовать строку в Date Java

Рейтинг: 0Ответов: 1Опубликовано: 02.03.2023

Как преобразовать строку типа "Sun Apr 09 00:00:00 MSK 1978"

В дату в виде 09.04.1978 ?

Ответы

▲ 2Принят

Сначала нужно распарсить с указанием локали, т.к. такие компоненты как EEE и MMM парсят и формируют данные в текущей локали (у меня это было RU).

А после сгенерировать строку по формату dd.MM.yyyy

Пример:

String dateStr = "Sun Apr 09 00:00:00 MSK 1978";

SimpleDateFormat fmtFrom = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);
Date date = fmtFrom.parse(dateStr);

SimpleDateFormat fmtTo = new SimpleDateFormat("dd.MM.yyyy");
System.out.println("Date: " + fmtTo.format(date));
// Date: 09.04.1978