Java:不可解析的日期错误

Java:不可解析的日期错误,java,date,simpledateformat,parseexception,Java,Date,Simpledateformat,Parseexception,我有以下格式的日期: 2017-04-09T11:15:39.200+03:00 我使用了以下格式字符串: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 但我有个例外“ 感谢API文档中您所说的您想要的内容,并将此作为您希望输出的内容 "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 问题在于您没有阅读文档: 您会看到要使用的模式是X: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:s

我有以下格式的日期:

2017-04-09T11:15:39.200+03:00
我使用了以下格式字符串:

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
但我有个例外“


感谢

API文档中您所说的您想要的内容,并将此作为您希望输出的内容

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

问题在于您没有阅读文档:

您会看到要使用的模式是
X

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
在发布之前,您也没有签入stackoverflow:在您使用的相同标签中(),还有另一个问题-最近的一个问题,今天被问到-基本上有相同的问题(使用
'Z'
内引号):


为什么要在模式的末尾加上“Z”?这意味着日期时间字符串必须以字符Z结尾,显然不是。删除“Z”是没有用的。我建议您避免使用
SimpleDataFormat
类。它不仅过时很久,而且非常麻烦。今天,我们有了更好的现代
OffsetDateTime
类将在没有任何显式格式设置程序的情况下解析字符串。这不会更容易。仅供参考,诸如和
java.text.SimpleDateFormat
等令人烦恼的旧日期时间类现在已被java 8及更高版本中内置的类所取代。请参阅。
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");