Java解析字符串to Date返回错误的日期

Java解析字符串to Date返回错误的日期,java,Java,我遇到了一个常见的问题,我想将字符串解析为日期 字符串如下所示15.06.11 13:38:33 UTC。但当使用用于分析到目前为止字符串的相同格式设置程序进行格式化时,结果是15.38.0011 13:38:33 UTC。TimeInMillis返回负值-61818978087000 SimpleDateFormat formatter = new SimpleDateFormat("dd.mm.yyyy HH:mm:ss z"); formatter.setLenient(false);

我遇到了一个常见的问题,我想将字符串解析为日期

字符串如下所示
15.06.11 13:38:33 UTC
。但当使用用于分析到目前为止字符串的相同格式设置程序进行格式化时,结果是
15.38.0011 13:38:33 UTC
。TimeInMillis返回负值
-61818978087000

SimpleDateFormat formatter = new SimpleDateFormat("dd.mm.yyyy HH:mm:ss z");
formatter.setLenient(false);  
Date time = formatter.parse("15.06.11 13:38:33 UTC");    
Calendar timestamp = Calendar.getInstance();  
timestamp.setTime(time);

我感谢我能得到的每一个帮助。也许我犯了一些愚蠢的错误,但我看不出来。请睁开眼睛。

月份是
MM
,而不是
MM
(即分钟)

yyy
yy
(你的年份似乎是两位数)(感谢彼得注意到)

月份是
MM
,而不是
MM
(即分钟)
yyy
yy
(你的年份看起来是两位数)(感谢彼得注意到这一点)

成功吧

dd.MM.yyyy HH:mm:ss z

成功

dd.MM.yyyy HH:mm:ss z


您需要将月份更改为
MM
,但也需要将年份更改为
yy
,否则使用
yyy
将假定
15.06.11
11
年,而不是
2011

System.out.println(new SimpleDateFormat("dd.MM.yy HH:mm:ss z")
                       .parse("15.06.11 13:38:33 UTC"));
为我打印(因为我是GMT+1)


您需要将月份更改为
MM
,但也需要将年份更改为
yy
,否则使用
yyy
将假定
15.06.11
11
年,而不是
2011

System.out.println(new SimpleDateFormat("dd.MM.yy HH:mm:ss z")
                       .parse("15.06.11 13:38:33 UTC"));
为我打印(因为我是GMT+1)


我总是自己尝试代码。我已经被发现很多次,假设其余的代码是正确的我总是自己尝试代码。我已经被发现很多次,假设其余的代码是正确的