如何将Java中的日期格式化为仅月,日和小时?

时间:2011-08-22 12:23:13

标签: java date simpledateformat

如果我只需要打印月份(MMM),日期(DD)和小时(HH),我将如何格式化日期?

因此输出看起来像:

Jul 18 9

(即7月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 个答案:

答案 0 :(得分:4)

您应该使用formatjavadoc)方法。

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));
}

答案 1 :(得分:2)

您正在定义解析日期的模式,而不是打印日期。您还需要使用模式进行输出;

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