2016-09-17 75 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

相關問題