プログラマメモ2 - programmer no memo2

[java] 文字列からjava.util.Dateに変換します。そのときに大目にみません。 2008/02/19

yyyyMMddフォーマットの文字列をjava.util.Dateに変換します。
java.text.SimpleDateFormatを使用しています。
それでSimpleDateFormatのメソッドで、「大目に」みるメソッドをfalseにすることを忘れてはいけません。

大目にみてしまうと
20081717
というの値もDateに変換してしまいます。

lenient
大目{おおめ}に見た、情け深い


public void setLenient(boolean lenient)

日付/時刻解析を厳密に行うかどうかを設定します。厳密でない解析では、解析機能は、ヒューリスティックな方法を使って、このオブジェクトのフォーマットと完全には一致しない入力を解釈することがあります。厳密な解析では、入力はこのオブジェクトのフォーマットと一致する必要があります。javadoc6




static Date toDate(String yyyyMMdd){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
try {
simpleDateFormat.setLenient(false);
return simpleDateFormat.parse(yyyyMMdd);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}

: