2017-01-10 9 views
0

次のデータ時間をEEE、d MMM yyyy形式に変換しようとしていますが、解析不可能な日付形式を維持しています。いくらか助けてもらえますか?私は助けられたウェブ上で何かを見つけることができませんでした。Android DateTimeをEEEに変換する、d MMM yyyy

ここでもヘルプ創傷が非常に高く評価されるコード

String datestr = "2017-01-12T00:00:00Z"; 
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US); 
Date convertedDateStart = new Date(); 
try { 
     convertedDateStart = dateFormat.parse(datestr); 
     camp_new.startdate = convertedDateStart; 
} catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
} 

あります。ありがとうございます。

答えて

0

日付文字列"2017-01-12T00:00:00Z"は、ご使用のフォーマット"EEE, d MMM yyyy HH:mm:ss Z"で解析できません。フィールドのタイプが間違っているか、間違った場所にあります。

datestr"2017-01-12T00:00:00Z"の形式は次のようになります。

 yyyy-MM-dd'T'HH:mm:ssZ 

あなたはdatestrを解析するために、このフォーマットでSimpleDateFormatを初期化する必要があります。

形式"EEE, d MMM yyyy HH:mm:ss Z"parse()format()の違いを理解するためにドキュメントを読む

 Thu, 1 Jan 2017 00:00:00 Z 

のように見える日付を解析します。

0

最初に解析し、Dateオブジェクトとして保存し、別のSimpleDateFormatを使用して目的の方法でフォーマットする必要があります。

String datestr = "2017-01-12T00:00:00Z"; 

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US); 
SimpleDateFormat dateFormat2 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US); 

Date date = dateFormat.parse(datestr); 
String convertedDateStart = dateFormat2.format(date); 
0

まあこれはあなたがFORMATする場合は、あなたのために働き、その形式で日付文字列を取得します。..

 String datestr = "2017-01-12T00:00:00Z"; 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); 

     try { 
      date = dateFormat.parse(datestr); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 

     dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US); 

     datestr = dateFormat.format(date); 

     System.out.println(datestr); 

これは、あなたの木、2017年1月12日0時00分を与えます: 00 +0430日付文字列。

関連する問題