请用Java校验输入的日期字符串是否符合指定的格式
public static bool validateDateString(string date, string format) { … }

解决方案 »

  1.   

    用 SimpleDateFormat。public static bool validateDateString(string date, string format) {
        try {
            new SimpleDateFormat(format).parse(date);
            return true;
        } catch(Exception e) {
            return false;
        }
      

  2.   

    二楼的方法我用过了,但是不太好用
    validateDateString("2009/07/02 12:12:12","yyyy/MM/dd");
    这是还是true
      

  3.   

    测试的时候下面应该返回FLASE,实际却是TRUE
    validateDateString("2009/07/02 12:12:12","yyyy/MM/dd"); 
      

  4.   

    试试这个
    private static  final String STRING = "ymMdshw"; public static boolean validateDateString(String date, String format) {
    boolean result = false;
    if (date.length() != format.length()){
    return false;
    }
    for (int i = 0; i < format.length(); i++) {
    char c = format.charAt(i);
    boolean b = false;
    //找出格式字符
    for (int j = 0; j < STRING.length(); j++) {
    if (c == STRING.charAt(j)) {
    b = true;
    break;
    }
    }
    if (!b) {
    char ch = date.charAt(i);
    //比较格式字符
    if (c == ch) {
    result = true;
    } else {
    result = false;
    }
    }
    } return result;
    }
      

  5.   

    如果LZ只是针对格式进行验证的话,你可以先验证10位的长度和使用new SimpleDateFormat(format).parse(date); 可以达到目的,
    但是如果想要验证时间的正确性,那最好还是用正则吧。