RSS フィードからのタグの解析に問題があります。
フォーマットは次のようになります: Mon, 16 Apr 2012 16:42:30 +0000
私はこのトリックを行う関数parseDateを作成しましたが、実際には Locale.US を使用して日付を解析します。これは日付を返しますが、US ロケールを使用しているため、時間 +2 時間を返します。Locale.US パラメーターを指定しないと、ParseException が発生します。
提供された日付がすべてのローカルに対して正しいように、正しい解析を行うにはどうすればよいですか?
関数は次のとおりです。
public String parseDate (String dateraw){
String returndate;
try {String format = "EEE, dd MMM yyyy kk:mm:ss Z";
SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss z",Locale.US);
Date formatedDate = sdf.parse(dateraw);
Calendar c= Calendar.getInstance();
c.setTime(formatedDate);
returndate=""+c.get(Calendar.DAY_OF_MONTH)+"/"+c.get(Calendar.MONTH)+"/"+c.get(Calendar.YEAR)+" "+c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE);
return returndate;
} catch (ParseException e) {
e.printStackTrace();
// TODO Auto-generated catch block
return "NO DATE AVAILABLE";
}
}