2012-11-30 74 views
1

當我使用java工作時,遇到下一個日期問題。我有這樣的代碼:Java中的日期錯誤

String dateF=anio_final+"-12-31"; 
System.out.println("La fecha final al principio:"+dateF); 

java.util.Date f_final=null; 
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); 
f_final=formatter.parse(dateF); 
System.out.println("Al final la fecha final es:"+f_final); 

//=> anio_final is 2012, 

所以,當我打印dateF我得到2012-12-31,但是當我做的SimpleDateFormat把它放在f_final可變我得到2012-01-31,爲什麼呢?

回答

5

SimpleDateFormat起,一年中的月份用​​表示。 Lowercase mminute: -

new SimpleDateFormat("yyyy-mm-dd"); 

應該是: -

new SimpleDateFormat("yyyy-MM-dd"); 
+0

非常感謝。這是解決方案 – zoit

+0

@zoit ..不客氣。每當您看到與Java API相關的奇怪結果時,請始終閱讀文檔。文檔幾乎總能找到問題的答案。 –