2012-11-30 51 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相关的奇怪结果时,请始终阅读文档。文档几乎总能找到问题的答案。 –