Java SimpleDataFormat API显示错误的日期
尝试使用SimpleDataFormat API格式化几个日期Java SimpleDataFormat API显示错误的日期,java,simpledateformat,Java,Simpledateformat,尝试使用SimpleDataFormat API格式化几个日期 String[] dates={"18-01-2015","9-02-2015","21-03-2015"}; for(String s:dates){ SimpleDateFormat format=new SimpleDateFormat("DD-MM-yyyy"); Date date=format.parse(s); System.out.println(date); } 输出: Sun Jan 1
String[] dates={"18-01-2015","9-02-2015","21-03-2015"};
for(String s:dates){
SimpleDateFormat format=new SimpleDateFormat("DD-MM-yyyy");
Date date=format.parse(s);
System.out.println(date);
}
输出:
Sun Jan 18 00:00:00 IST 2015
Fri Jan 09 00:00:00 IST 2015
Wed Jan 21 00:00:00 IST 2015
您可能会注意到它显示的所有日期都是一月而不是二月/三月。在构建
SimpleDateFormat
时,您希望dd
而不是dd
DD
表示“年中的某一天”,而不是“月中的某一天”。每当SimpleDataFormat
看起来好像做了错误的事情时,您都应该非常非常仔细地查阅并检查您的模式文本,尤其是大写字母
(当然还有其他一些事情可能会出错-我对最常见的问题有一个答案。)应该是
dd-MM-yyyy
@Raj我不敢相信。谢谢Jon。这真的很有帮助