2011-08-22 25 views
1

我將如何格式化日期,如果我只需要它來打印月(MMM),日(DD)和時間(HH)?如何將Java中的日期格式化爲僅月,日和小時?

所以輸出會看起來像:

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 

任何幫助將是深表感謝。

+0

startMonth,startDate和startTime的值是什麼? – Jim

+0

@jim如上所示七月= startMonth,18 =的startDate和9 = STARTTIME – FHr

回答

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

你能詳細說說嗎? – FHr

+0

+1:如果您只想要特定格式的特定字段,可以打印這些字段。如果您希望以通用格式顯示所有字段,則只應使用通用toString作爲日期。 –

+0

請參閱更新後的帖子。 – Behrang

2

您正在定義解析日期而不是打印日期的模式。您還需要使用輸出模式;

System.out.println(start.format(date)); 
相關問題