Java MM/dd/yy简单日期DateTimeFormatter的工作时间不超过2037

Bhu*_*yal 2 java date jodatime

实际上,我发现MM/dd/yy日期格式有问题:如果输入年份大于37那么年份格式反映为1937.

即,如果我输入输入,02/05/37那么当我将此日期打印到控制台时,日期会变为02/05/1937.

如果他进入不到02/05/37那么工作正常.

Date startDate = new SimpleDateFormat("dd/MM/yy").parse("01/01/47");
System.out.println(startDate);
Run Code Online (Sandbox Code Playgroud)

ljg*_*jgw 5

假设您正在使用SimpleDateFormat:它符合规范02/05/37被解析为02/05/1937.至少在接下来的一年左右......

Java的SimpleDateFormat必须决定你的日期应该在哪个世纪.它通过将日期调整为创建SimpleDateFormat实例之前的80年和20年之后来实现此目的.2037年是当前日期(2016年)之前的80年,因此它使用过去的时间.