日付があり、文字列のパターンと思われます。
//True
String date ="2012-10-12 12:01:10.10.150";
String pattern = "yyyy-MM-dd hh:mm:ss.SSS";
//False
String date ="2012-10-12 12:01:10.150";
String pattern = "yyyy-MM-dd hh:mm:ss";
ここで、日付変数に、文字列の特定のパターンを満たす適切な日付があるかどうかを知りたいと思いました。上記の例では、True/False が期待される結果です。
私はSimpleDateFormat(ParseExceptionがスローされた場合)で試しましたが、2番目の例では機能しません。
public boolean isValidDate(String date, String pattern) {
if (date == null)
return false;
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
try {
dateFormat.parse(date.trim());
} catch (ParseException pe) {
return false;
}
return true;
}