2016-04-08 13 views
1

次の日付をアンドロイドでデバイスの現地時間に解析しようとしています。 日時は4月7日18:26:42 GMT + 05:30 2016です。 MM-dd-yyyyのような他の形式でこの日付を取得したいと思います。日付を解析できません

SimpleDateFormat inputFormat = new SimpleDateFormat(
       "EEE MMM dd HH:mm:ss 'GMT' Z yyyy", Locale.US); 
     inputFormat.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); 

     SimpleDateFormat outputFormat = new SimpleDateFormat("MMM dd, yyyy h:mm a"); 

     Date date = inputFormat.parse("Thu Apr 07 18:26:42 GMT+05:30 2016"); 
     String outputText = outputFormat.format(date); 
     WriteLog.Print("outputText" + outputText); 

を、私はここで間違ってやっているものを私に教えてください:ここでは

は、私がしようとしているものです。上記のコードは、私に例外のない日付を言う例外を与えています。

おかげ

+1

はどうなりますか?空白が不一致であるかもしれないと感じています。 – Knossos

+0

あなたの 'inputFormat'セクションに問題があります –

+0

@Knossosありがとうございました。 空白が問題でした。 –

答えて

0

あなたのケースでは問題はあなたのinputFormatに空白のビットを持っているということです。

SimpleDateFormat inputFormat = new SimpleDateFormat(
    "EEE MMM dd HH:mm:ss 'GMT' Z yyyy", Locale.US); 

代わりにあなたが持っている必要があります。inputFormat` `のため、代わりにS-S「GMT'Zのyyyy`:MM:あなたはEEE MMMはHHをddを使用している場合、`

SimpleDateFormat inputFormat = new SimpleDateFormat(
    "EEE MMM dd HH:mm:ss 'GMT'Z yyyy", Locale.US); 
関連する問題