2

公開された日付文字列は次のように返されます: Sun, 18 Nov 2012 06:50:02 GMT と convertDate への私のメソッドは java.text.ParseException: Unparseable date: "Sun, 18 Nov 2012 06:50:02 GMT" (オフセット 8)。リソースをチェックしましたが、このような有用なものは見つかりませんでした... SimpleDateFormatを使用してGMTタイムゾーンを持つ文字列を日付に解析する

少しでも光を当てていただければ幸いです。これが私の方法です.. pubDateは2012年11月18日日曜日06:50:02 GMTです

public Date convertDate(String pubDate){

    SimpleDateFormat sdf =  new SimpleDateFormat("EEE, dd MM yyyy hh:mm:ss Z",Locale.US);
    Date newsDate = new GregorianCalendar(0, 0, 0).getTime();
        try{
            newsDate  = sdf.parse(pubDate);
        }catch(ParseException e){
            Log.d(Tag, "Exception Parsing date" + pubDate);
        }
    return null;
}
4

2 に答える 2

5

MMM月フィールドに使用します。

new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss Z",Locale.US);

newsDateこれが修正されたら、現在戻っているので忘れずに戻ってくださいnull

于 2012-11-18T15:03:55.817 に答える
1

これが私が行った小さなテストです:

@Test
public void testDate() throws ParseException {

    String pubDate = "Sun, 18 Nov 2012 06:50:02 GMT";

    SimpleDateFormat sdf = new SimpleDateFormat(
            "EEE, dd MMM yyyy hh:mm:ss z", Locale.US);
    Date newsDate = new GregorianCalendar(0, 0, 0).getTime();

    newsDate = sdf.parse(pubDate);

}

MMM月の最初の3文字を使用しているため、月を設定する必要があります(4つのMは完全な月の名前を意味します)。また、ISO 8601タイムゾーン(GMT)があるため、タイムゾーンはではzなくする必要があります。Z

于 2012-11-18T15:13:51.843 に答える