Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SimpleDataFormat API显示错误的日期_Java_Simpledateformat - Fatal编程技术网

Java 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

尝试使用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 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。这真的很有帮助