これは、私がJavaで私のisDate
として使用しているものです。私はWHAT??????
は毎回印刷しますJavaが有効な日付であることを伝える理由は何ですか?
String fromDate = "";
if (Common.isDate(fromDate)) {
System.out.println("WHAT??????");
}
:
public class Common {
public static final String DATE_PATTERN = "yyyy-MM-dd";
public static boolean isDate(String text) {
return isDate(text, DATE_PATTERN);
}
public static boolean isDate(String text, String date_pattern) {
String newDate = text.replace("T00:00:00", "");
SimpleDateFormat formatter = new SimpleDateFormat(date_pattern);
ParsePosition position = new ParsePosition(0);
formatter.parse(newDate, position);
formatter.setLenient(false);
if (position.getIndex() != newDate.length()) {
return false;
} else {
return true;
}
}
}
は、ここに私のテストコードです。私はここで何が欠けていますか?
ありがとうございました。
は 'position.getErrorIndex(でテストしてみてください)= - ! 1 'となる。 http://download.oracle.com/javase/1.4.2/docs/api/java/text/ParsePosition.html#getErrorIndex%28%29 – JAB