求高手解答一道java 请用Java校验输入的日期字符串是否符合指定的格式public static bool validateDateString(string date, string format) { … } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 SimpleDateFormat。public static bool validateDateString(string date, string format) { try { new SimpleDateFormat(format).parse(date); return true; } catch(Exception e) { return false; }} 二楼的方法我用过了,但是不太好用validateDateString("2009/07/02 12:12:12","yyyy/MM/dd");这是还是true 测试的时候下面应该返回FLASE,实际却是TRUEvalidateDateString("2009/07/02 12:12:12","yyyy/MM/dd"); 试试这个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; } 如果LZ只是针对格式进行验证的话,你可以先验证10位的长度和使用new SimpleDateFormat(format).parse(date); 可以达到目的,但是如果想要验证时间的正确性,那最好还是用正则吧。 super的用法(初学者问题) 如果我想要这样的结果,你能做到吗? 自己定义包的问题 如何在页面上实现如下的向左向右的选择功能 java过滤器 如何用java生成guid?如果有其它的生成唯一标识符的解决方案也可以 请问javax.microedition.lcdui是什么东西?要到哪里下载??? 在一个包中的类要调用同包中的接口和类,编译的时间出现问题,应该怎么解决??? 好心的人进来看看 紧急求助:请问java有没有比较丰富的多媒体控件?比如录音的控件??? 关于thread中调用jdbc的问题 JBuilder9遇到的一个问题··麻烦看下!
try {
new SimpleDateFormat(format).parse(date);
return true;
} catch(Exception e) {
return false;
}
}
validateDateString("2009/07/02 12:12:12","yyyy/MM/dd");
这是还是true
validateDateString("2009/07/02 12:12:12","yyyy/MM/dd");
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;
}
但是如果想要验证时间的正确性,那最好还是用正则吧。