У меня есть следующая строка:Формат в Java
Mon Sep 14 15:24:40 UTC 2009
Мне нужно отформатировать его в строку, как это:
14/9/2009
Как сделать это в Java?
У меня есть следующая строка:Формат в Java
Mon Sep 14 15:24:40 UTC 2009
Мне нужно отформатировать его в строку, как это:
14/9/2009
Как сделать это в Java?
Использование SimpleDateFormat
(нажмите на ссылку, чтобы увидеть JavaDoc шаблонов) для разбора строки в одной модели к fullworthy Date
и использовать другую для форматирования разобранной Date
строки в другом шаблоне.
String string1 = "Mon Sep 14 15:24:40 UTC 2009";
Date date = new SimpleDateFormat("EEE MMM d HH:mm:ss Z yyyy").parse(string1);
String string2 = new SimpleDateFormat("d/M/yyyy").format(date);
System.out.println(string2); // 14/9/2009
Вы можете использовать класс SimpleDateFormat для преобразования строки, которую вы имеете в объект даты. Формат даты может быть указан в конструкторе. Метод format преобразует строку в объект даты.
После получения объекта даты вы можете отформатировать его так, как вы хотите.
Date d = new Date("Mon Sep 14 15:24:40 UTC 2009");
SimpleDateFormat f = new SimpleDateFormat("dd/M/yyyy");
String s = new String(f.format(d));
Один вкладыш в java 8 и выше.
String localDateTime= LocalDateTime.parse("Mon Sep 14 15:24:40 UTC 2009", DateTimeFormatter.ofPattern("EE MMM dd HH:mm:ss z yyyy")).format(DateTimeFormatter.ofPattern("d/M/yyyy"));
Я пробовал: SimpleDateFormat sdfIn = новый SimpleDateFormat («Пн сен 14 15:24:40 UTC 2009»); но это не сработало! Я получил: Исключение в потоке «main» java.lang.IllegalArgumentException: Неверный символ шаблона 'o' – Dejell
Вам нужно использовать шаблоны, показанные в таблице на этой странице: http://download.oracle.com/javase/1.4. 2/Docs/API/Java/текст/SimpleDateFormat.html – Khaled