java.text.Parse异常:Unparseable Date

use*_*404 5 java parsing date iso8601

我有以下代码:

  String ModifiedDate = "1993-06-08T18:27:02.000Z" ;  
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
  Date ModDate = sdf.parse(ModifiedDate);
Run Code Online (Sandbox Code Playgroud)

即使我的日期格式很好,我也得到以下异常...

java.text.ParseException: Unparseable date: "1993-06-08T18:27:02.000Z"
at java.text.DateFormat.parse(DateFormat.java:337)
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 10

所述Z图案后者表示一个RFC 822的时区.你的字符串

String ModifiedDate = "1993-06-08T18:27:02.000Z" ;  
Run Code Online (Sandbox Code Playgroud)

不包含这样的时区.它包含Z字面意思.

你会想要一个类似于文字的日期模式T,有一个文字Z.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Run Code Online (Sandbox Code Playgroud)

如果您打算Z指示Zulu时间,请在构建时将其添加为时区SimpleDateFormat

sdf.setTimeZone(TimeZone.getTimeZone("Zulu"));;
Run Code Online (Sandbox Code Playgroud)