Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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未正确格式化日期_Java_Date_Format - Fatal编程技术网

Java未正确格式化日期

Java未正确格式化日期,java,date,format,Java,Date,Format,我得到的代码应该将输入的出生日期转换为DD/MM/YYYY格式,它会这样做,但例如,当我输入2000年8月20日时,它会将日期视为1月3日 System.out.println(this.dob); DateFormat dateF = new SimpleDateFormat("dd/MM/YYYY"); Date birth = dateF.parse(this.dob); System.out.println(birth); 哪个输出 20/08/2000 Mon Jan 03 00:0

我得到的代码应该将输入的出生日期转换为DD/MM/YYYY格式,它会这样做,但例如,当我输入2000年8月20日时,它会将日期视为1月3日

System.out.println(this.dob);
DateFormat dateF = new SimpleDateFormat("dd/MM/YYYY");
Date birth = dateF.parse(this.dob);
System.out.println(birth);
哪个输出

20/08/2000
Mon Jan 03 00:00:00 GMT 2000

在您的格式中使用大写字母
Y
s表示“周-年”

相反,在你的格式中使用小写的
y
s,这意味着你期望的年份

new SimpleDateFormat("dd/MM/yyyy");

为什么人们不能了解
yyyy
yyy
之间的区别?或者为什么他们甚至懒得重新检查他们的模式是否正确?烦人。在八月,一年和一周都是一样的。周年是周编号所属的年份;只有在新年前后,它才可能偏离一年(例如,如果前一年的第52周延长到1月)。这可能是真的,但更改为
yyyy
会将输出更正为正确的日期。