DateTimeFormat 形式で解析する文字列を取得できません。入力文字列は次のとおりです。
Thu Apr 07 00:00:00 EDT 2011
そして私のフォーマット:
DateTimeFormat.getFormat("EEE MMM dd HH:mm:ss vvv yyyy");
これは正しいフォーマット文字列であると読みましたが、私にとっては正しく解析されていません。コードは次のとおりです。
public class YcDateColumn extends TextColumn<JSONObject> {
DateTimeFormat fmtC = DateTimeFormat.getFormat("dd-MMM-yyyy");
DateTimeFormat fmtB = DateTimeFormat.getFormat("MMM dd, yyyy hh:mm:ss a");
DateTimeFormat fmtA = DateTimeFormat.getFormat("EEE MMM dd HH:mm:ss vvv yyyy");
private String key = null;
private String def = null;
public YcDateColumn(String aKey, String aDefault) {
super();
key = aKey;
def = aDefault;
}
public YcDateColumn(String aKey) {
this(aKey, null);
}
@Override
public String getValue(JSONObject aObj) {
System.out.println("YcDateColumn - object= " + aObj);
JSONValue mVal = aObj.get(key);
if (mVal == null)
return def;
System.out.println("YcDateColumn - about to parse string: " + mVal.isString().stringValue());
return fmtC.format(fmtA.parse(mVal.isString().stringValue()));
}
}
最後の System.out は、このテキスト (解析する文字列) を出力します。YcDateColumn - about to parse string: Thu Apr 07 00:00:00 EDT 2011
何が足りないの!? 助けてくれてありがとう!
-エリック