所以,這就是我在Java中使用的我的isDate
。爲什麼Java告訴我「」是一個有效的日期?
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;
}
}
}
這裏是我的測試代碼:
String fromDate = "";
if (Common.isDate(fromDate)) {
System.out.println("WHAT??????");
}
我看到WHAT??????
打印每次。我在這裏錯過了什麼?
謝謝。
嘗試測試'position.getErrorIndex()!= - 1'。 http://download.oracle.com/javase/1.4.2/docs/api/java/text/ParsePosition.html#getErrorIndex%28%29 – JAB