public boolean isDate(String dateStr) {
String[] date = dateStr.split("-");
if (date.length == 3) {
try {
int year = Integer.parseInt(date[2]);
String month = date[1].toString();
int day = Integer.parseInt(date[0]);
if(isYear(year) && isMonth(month) && isDay(day,month,year)) {
return true;
} else {
return false;
}
} catch(Exception e) {
return false;
}
} else {
return false;
}
}
public boolean isMonth(String month) {
if(month.equalsIgnoreCase("JAN")||month.equalsIgnoreCase("FEB")||month.equalsIgnoreCase("MAR")||month.equalsIgnoreCase("APR")
||month.equalsIgnoreCase("MAY")||month.equalsIgnoreCase("JUN")||month.equalsIgnoreCase("JUL")||month.equalsIgnoreCase("AUG")
||month.equalsIgnoreCase("SEP")||month.equalsIgnoreCase("OCT")||month.equalsIgnoreCase("NOV")||month.equalsIgnoreCase("DEC")) {
return true;
} else {
return false;
}
}
public boolean isYear(int year) {
if(1000 < year && year < 10000) {
return true;
} else {
return false;
}
}
public boolean isDay(int day,String month,int year) {
if (month.equalsIgnoreCase("JAN")|| month.equalsIgnoreCase("MAR") || month.equalsIgnoreCase("MAY") || month.equalsIgnoreCase("JUL") || month.equalsIgnoreCase("AUG") || month.equalsIgnoreCase("OCT") || month.equalsIgnoreCase("DEC")) {
if (1 <= day && day <= 31) {
return true;
}
} else if (month.equalsIgnoreCase("APR") || month.equalsIgnoreCase("JUN") || month.equalsIgnoreCase("SEP") || month.equalsIgnoreCase("NOV")) {
if (1 <= day && day <= 30) {
return true;
}
} else {
if(isLeapYear(year)) {
if(1 <= day && day <= 29) {
return true;
}
} else {
if(1 <= day && day <= 28) {
return true;
}
}
}
return false;
}
public boolean isLeapYear(int year) {
if(year % 4 == 0 && year % 100!=0) {
return true;
} else {
return false;
}
}