Преобразовать строку в строку с форматом даты в Java? - PullRequest
1 голос
/ 17 июля 2011

Я пишу приложение, в котором хочу преобразовать строку «2011-07-17 08:05:50» в «17 июля 08:05». Есть ли прямой способ сделать это на Java. Я хочу, чтобы ввод и вывод в строке. Пожалуйста, дайте мне знать, если есть способ сделать это напрямую. Спасибо за ваше время и помощь.

Ответы [ 3 ]

3 голосов
/ 17 июля 2011

Использование SimpleDateFormat,

public class Main {
  public static void main(String[] args) throws Exception {
      SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      Date date = sdfSource.parse("2011-07-17 08:05:50");
      SimpleDateFormat sdfDestination = new SimpleDateFormat("MMM dd hh:mma");
      System.out.println(sdfDestination.format(date));
  }
}

Ссылка .

1 голос
/ 17 июля 2011

Пожалуйста, дайте мне знать, если есть способ сделать это напрямую.

Нет способа сделать это напрямую.Вы должны проанализировать исходную строку, используя анализатор даты, а затем создать новую в нужном вам формате, используя форматер даты.

Вы можете использовать SimpleDateFormatter для анализаи отформатируйте или используйте эквивалентные JodaTime классы;например, DateTimeFormatter.

0 голосов
/ 17 июля 2011

Нет "прямого" способа сделать это.Вы должны использовать SimpleDateFormat для анализа первой строки в объекте Date, а затем другой, чтобы записать ее обратно в качестве второй строки.

т.е.

Date date = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).parse( inputString );
String outputString = new SimpleDateFormat( "MMM dd HH:mmaa" ).format( date );
...