Формат даты в Java - PullRequest
       6

Формат даты в Java

4 голосов
/ 14 ноября 2010

У меня есть следующая строка:

Mon Sep 14 15:24:40 UTC 2009

Мне нужно отформатировать его в строку, подобную этой:

14/9/2009

Как мне это сделать на Java?

Ответы [ 4 ]

7 голосов
/ 14 ноября 2010

Используйте SimpleDateFormat (щелкните ссылку javadoc, чтобы просмотреть шаблоны), чтобы проанализировать строку в одном шаблоне до полноценного 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
3 голосов
/ 14 ноября 2010

Вы можете использовать класс SimpleDateFormat для преобразования имеющейся у вас строки в объект даты.Формат даты можно указать в конструкторе.Метод format преобразует строку в объект даты.

После получения объекта даты его можно отформатировать так, как вы хотите.

0 голосов
/ 01 августа 2017

Один лайнер в 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"));
0 голосов
/ 14 ноября 2010
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));
...