2015-05-18 80 views
0

我從我檢索當前日期減去-5分鐘將特定日期時間fromat:的Java日期時間轉換

csvFileDate與格式,yyyyMMddhhmm日期列表。下面是代碼我使用,但其轉換日期錯誤:

private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmm"); 
private List<String> csvFileDates = new ArrayList<String>(); 

.... 


Collections.sort(csvFileDates); 
String currDate = csvFileDates.get(csvFileDates.size() -1); 
System.out.println("DATE1 " + currDate); 
Calendar c = Calendar.getInstance(); 
c.setTime(dateFormat.parse(currDate)); 
c.add(Calendar.MINUTE, -5); 
System.out.println("DATE2 " + c.getTime()); 

輸出:

DATE1 201505181208 
DATE2 Mon May 18 00:03:00 SGT 2015 

另:

DATE1 201505181213 
DATE2 Mon May 18 00:08:00 SGT 2015 

任何想法,爲什麼?

+1

這是什麼問題? –

回答

6

您在24小時的時間格式。所以,你必須使用大寫小時H:

h小時在(0-23)在上午
h小時/時(1-12)

private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm"); 

見documantation SimpleDateFormat欲瞭解更多詳情。

+0

謝謝,沒有注意到它。 –

2

使用HH而不是hh一天的時間,如規定here