2016-09-17 12 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である必要があります。

SimpleDateFormatためJavadocsのサンプルによると、あなたは

"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:Unknown pattern character 'X' – user2399158

関連する問題