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

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

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


Ответы (1 шт):

Автор решения: gil9red

Сначала нужно распарсить с указанием локали, т.к. такие компоненты как 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
→ Ссылка