2016-05-17 14 views
0

私はこの形式で日付を取得しています「土2015年5月2日00:00:00 GMT + 0500(パキスタン標準時)」 を解析できません日付例外javaの

私はこの使用してフォーマットを解析し

SimpleDateFormat sdf = new SimpleDateFormat(EEE MMM dd yyyy HH:mm:ss zZ (zzzz)) 

明らかに私のフォーマットが間違っていることを意味する、日付の例外の解析が不可能になります。いくつか、これに適したフォーマットが何であるか教えてください。 "(パキスタン標準時)"と書くべきもの。

+2

あなたの日付フォーマットで ''(パキスタン標準時)を使用することはできません。 GMT +0500は、それがパキスタンの標準時であることを示すには十分です – Sanjeev

+0

私はこの形式で日付を取得していますが、私はこれを変更できません –

+1

別のオプションは '(パキスタン標準時)'を切り捨て、残りの日付を使用します。それはあなたに希望の結果を与えるでしょう – Sanjeev

答えて

0

これはあなたの日付を解析する一つの方法です:

public class Test { 

    static final String sample_date = "Sat May 02 2015 00:00:00 GMT+0500 (Pakistan Standard Time)".replace("GMT", "") 
      .replace(" (Pakistan Standard Time)", ""); 

    public static void main(String[] args) throws ParseException { 

     SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z"); 
     ParsePosition position = new ParsePosition(0); 
     Date d = sdf.parse(sample_date, position); 
     System.out.println(d); 
     System.out.println(position); 
     if (position.getErrorIndex() != -1) { 
      System.out.println(sample_date.substring(position.getErrorIndex())); 
     } 
     System.out.println(sdf.parse(sample_date)); 
    } 
} 

はリファレンス:Java - unparseable date, need format to match "GMT-0400"

+0

私はすでにコメントに正しい答えを得ていますが、答えは唯一です1つは私が受け入れるように私はこの@ Sanjeevを受け入れると不明なも答えを与えていた –

関連する問題