2014-03-06 78 views
1

我與下面的代碼段,這需要日期時間爲一個字符串的工作,然後從它創建一個Date對象:簡單的日期格式解析PM時間不正確作爲AM時間

Date currentDate = new Date(); 
SimpleDateFormat f = new SimpleDateFormat("EEEE, MMMM d 'at' h:mm a"); 

currentDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2014-03-06 12:59:01"); 
System.out.println(f.format(currentDate)); 

的最後兩行的「3月6日星期四12:59 AM」的輸出,但應該是PM。這是什麼造成的?它只發生在上午/下午開關。例如,如果解析的時間是("2014-03-06 00:59:01"),則輸出正確「3月6日星期四12:59 AM」。在此先感謝您的幫助!

+3

'h'對'H'。 –

回答

7

此行

currentDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2014-03-06 12:59:01"); 

包含hh其是1-12小時格式。嘗試使用使用0-23格式的資本HH

"yyyy-MM-dd HH:mm:ss" 

輸出:

Thursday, March 6 at 12:59 PM 

的日期格式符號和描述在the SimpleDateFormat javadocs

+0

ahah!非常感謝! – user1623503

相關問題