2016-07-25 9 views
-1

私は日付書式アプリケーションで作業していますが、私は1つのT日付書式を持っていますが、この書式を解析できません。AndroidでTの日付形式を解析する方法は?

try { 
    String dtStart = "2016-07-20T11:51:31.744Z"; 

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 

     if (dtStart != null) { 
      Date date = format.parse(dtStart); 

      Calendar myCal = new GregorianCalendar(); 
      myCal.setTime(date); 

      String promoPendingDay = "" + myCal.get(Calendar.DAY_OF_MONTH); 
      int promoPendingMonth = myCal.get(Calendar.MONTH) + 1; 
      String promoPendingYear = "" + myCal.get(Calendar.YEAR); 

      mMessageStartDateLabel.setText(promoPendingDay + "/" + promoPendingMonth + "/" + promoPendingYear); 
     } 

} catch (ParseException e) { 
    e.printStackTrace(); 
} 

たびに、私は一つの例外を取得していますjava.text.ParseException: Unparseable date:

親切に私のコードを通過し、私にいくつかのソリューションを提案してください。

+1

ミリ秒もあります。 – Blackbelt

+0

ちょっとありがとう私は少しこの形式で混乱していますあなたはこの日付形式を解析する方法を教えてください –

+0

'' ssの後に '.SSS'を追加 – Blackbelt

答えて

0

ここでは、2つの変更を適用するソリューションです。 1つの変更は分数秒を追加することで、もう1つの変更はUTCタイムゾーンを設定することです。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 
format.setTimeZone(TimeZone.getTimeZone("GMT")); // very important, input Z means UTC+00 
+0

おかげで非常に役立つ、問題解決 –

関連する問題