Как я могу отформатировать дату в Java как только месяц, день и час? - PullRequest
1 голос
/ 22 августа 2011

Как мне отформатировать дату, если мне нужно только распечатать месяц (МММ), дату (ДД) и час (ЧЧ)?

Таким образом, результат будет выглядеть примерно так:

Jul 18 9

(это 18 июля 09:00).

Я пробовал следующее

private static void createDate () {

    String startConcat = startMonth + " " + startDate + " " + startTime;
    DateFormat start = new SimpleDateFormat ("MMM DD H");

    try {
       Date date = (Date)start.parse(startConcat);
       System.out.println(date);

    } catch (ParseException e) {
    }
}

Также, похоже, мой месяц тоже не читается должным образом ... Я получаю это как вывод

Sun Jan 18 09:00:00 EST 1970

любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 22 августа 2011

Вы должны использовать метод format ( javadoc ).

private static void createDate () throws Exception {
    String startConcat = startMonth + " " + startDate + " " + startTime;
    DateFormat formatter = new SimpleDateFormat ("MMM DD H");

    Date date = (Date) formatter.parse(startConcat);
    System.out.println(formatter.format(date));
}
2 голосов
/ 22 августа 2011

Вы определяете шаблон для разбора даты, а не ее печати. Вам также нужно будет использовать шаблон для вывода;

System.out.println(start.format(date));
...