2016-09-17 74 views
0

我从这个代码java.text.ParseException:无法解析的日期“YYYY-MM-dd'T'HH:MM:ss.SSSZ” - SimpleDateFormat的

java.text.ParseException: Unparseable date: "1998-09-17T00:00:00.000+08:00" (at offset 23) 

我不知道自己做错了什么痛苦着错误代码

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); 
      Date date = null; 
      try 
      { 
       date = sdf.parse(startdate); 
      } 
      catch(Exception ex) 
      { 
       ex.printStackTrace(); 
      } 
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); 
      String dateStr = formatter.format(date); 

    System.out.println(dateStr); 

我该怎么办?

回答

1

时区格式不正确。

时区应该是+0800而不是+08:00

根据在JavadocsSimpleDateFormat样品,你应该罚款与

"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" -> 2001-07-04T12:08:56.235-07:00 

XXX是ISO格式,这将允许在时区结肠。

+0

该时区是自动生成的,不是我自己写的 – user2399158

+0

我更新了我的答案。 – thst

+0

它没有工作,它说java.lang.IllegalArgumentException:未知模式字符'X' – user2399158

相关问题