1

freebase データから無効な dateString を取得しています。次の sparql クエリの出力は

クエリ:

select ?dob dataType(?dob) as ?dataType {
<http://freebase.com/ns/m/011k9p> <h://freebase.com/ns/common/topic/notable_types> <http://freebase.com/ns/people/person> .
<http://freebase.com/ns/m/011k9p> <h://freebase.com/ns/people/person/date_of_birth> ?dob 
} 

出力:

dob     dataType
-0359   http://www.w3.org/2001/XMLSchema#string

-0359 を取得する dob は、このフィールドでの年齢計算を不可能にします (これを xsd:dateTime オブジェクトに変換できないため)。

文字列を型にキャストできるかどうかを確認する方法は?

前もって感謝します。どんな助けでも大歓迎です。

4

1 に答える 1

0

おそらく最も簡単な方法は、SimpleDateFormat を使用して文字列を解析することです。

return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(theDate);

ParseException をキャッチすると、それが有効な日時文字列としてフォーマットされていないことがわかり、エラーをスローしたり、警告を出力したり、有効な日時に修正したりできます。

于 2012-12-16T17:21:04.443 に答える