Java未正确格式化日期
我得到的代码应该将输入的出生日期转换为DD/MM/YYYY格式,它会这样做,但例如,当我输入2000年8月20日时,它会将日期视为1月3日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
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
会将输出更正为正确的日期。