import java.util.*;
public class xl{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(“请输入日期时间格式为:xxxx年xx月xx日 xx时xx分xx秒”);
String str = input.nextLine();
if (!fang3(str)) {
System.out.println(fang3(str));
} else {
if (!fang(str)) {
System.out.println(fang(str));
} else if (!fang2(str)) {
System.out.println(fang2(str));
} else {
int year = Integer.parseInt(str.substring(0, 4));
int month = Integer.parseInt(str.substring(5, 7));
int ri = Integer.parseInt(str.substring(8, 10));
int h = Integer.parseInt(str.substring(12, 14));
int min = Integer.parseInt(str.substring(15, 17));
int s = Integer.parseInt(str.substring(18, 20));
boolean flag = true;
if (year < 0 || month < 0 || ri < 0 || h < 0 || min < 0 || s < 0) {
flag = false;
}
if (h > 24 || min > 60 || s > 60 || month > 12 || month == 0 || ri == 0) {
flag = false;
}
System.out.println(flag);
}
}
}
public static boolean fang(String str) {
String year = str.substring(0, 4);
String month = str.substring(5, 7);
String ri = str.substring(8, 10);
String h = str.substring(12, 14);
String min = str.substring(15, 17);
String s = str.substring(18, 20);
String zong = year + month + ri + h + min + s;
boolean flag = true;
for (int i = 0; i <= zong.length() - 1; i++) {
if (zong.charAt(i) >= ‘0’ && zong.charAt(i) <= ‘9’) {
} else
flag = false;
}
return flag;
}
public static boolean fang2(String str) {
boolean flag = true;
int year = Integer.parseInt(str.substring(0, 4));
int month = Integer.parseInt(str.substring(5, 7));
int ri = Integer.parseInt(str.substring(8, 10));
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
if (month == 2) {
if (ri > 29) {
flag = false;
}
}
} else {
if (month == 2) {
if (ri > 28) {
flag = false;
}
}
}
if (month == 4 || month == 6 || month == 9 || month == 11) {
if (ri > 30) {
flag = false;
}
} else {
if (ri > 31) {
flag = false;
}
}
return flag;
}
public static boolean fang3(String str) {
boolean flag = true;
String 年 = str.substring(4, 5);
String 月 = str.substring(7, 8);
String 日 = str.substring(10, 11);
String 时 = str.substring(14, 15);
String 分 = str.substring(17, 18);
String 秒 = str.substring(20);
String 空格 = str.substring(11, 12);
if (年.equals("年") && 月.equals("月") && 日.equals("日") && 时.equals("时") && 分.equals("分") && 秒.equals("秒")
&& 空格.equals(" ")) {
} else {
flag = false;
}
if (str.length() != 21) {
flag = false;
}
return flag;
}
}
作者:JxMx
供大家参考