java Date.parse()已超过一年

java Date.parse()已超过一年,java,datetime,groovy,Java,Datetime,Groovy,为什么我的约会要推迟一年?拍摄日期为2015年5月20日,返回日期为2016年8月5日 String d="05/20/2015"; Date date=Date.parse('dd/MM/yyyy',d); //Comes out Fri Aug 05 00:00:00 EDT 2016 你变了几个月,变了几天 should be: String d="20/05/2015"; instead of String d="05/20/2015"; 20个月?那是什么?

为什么我的约会要推迟一年?拍摄日期为2015年5月20日,返回日期为2016年8月5日

   String d="05/20/2015";

   Date date=Date.parse('dd/MM/yyyy',d);

   //Comes out Fri Aug 05 00:00:00 EDT 2016

你变了几个月,变了几天

should be: String d="20/05/2015";

instead of String d="05/20/2015";

20个月?那是什么?@sparkyShorts它只在Java8和其他版本中被弃用。@sotirios Delimanolis..ha!哎呀。在问题中输入错误…在问题中还是在实际代码中?如果只是问题,请更新。啊……好的。我错过了那里的幽默。有没有洞察到为什么Java会将一个月的值设为20,并返回一个15个月后的日期?如果您使用Java的
SimpleDateFormat
而不是Groovy的
Date.parse
helper(它包装了
SimpleDateFormat
),那么您可以将宽恕设置为
false