如何判断是否是合法日期 用format来格式化,能成功就正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 format没用,19810332会自动变成19810401的. setLenient(false),就不会自动变了 用正则表达式,比如:(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])Date yyyy-mm-dd1900-01-01 through 2099-12-31^_^ 回复人: abc_xyz() ( ) 信誉:100 2004-12-21 15:20:00 得分: 0 format没用,19810332会自动变成19810401的. ------------------再对两个字符串比较.看是不是一样,不样则说明不对! 自己写一个方法,把日期字符串substring下来年,月,日一个一个比较虽然比较麻烦,但可靠 import java.text.ParseException;/** * User: zhuzf * Date: 2004-12-23 * Time: 9:21:53 */public class Test { /** * 是否有效的日期 * * @param dateStr * @param pattern * @return */ public static boolean isValidDate(String dateStr, String pattern) { java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(pattern); try { df.setLenient(false); df.parse(dateStr); return true; } catch (ParseException e) { return false; } } public static void main(String[] args) throws Exception { System.out.println("19810331 is valid? " + isValidDate("19810331", "yyyyMMdd")); System.out.println("19810332 is valid? " + isValidDate("19810332", "yyyyMMdd")); }} 调用批处理带参数的问题 java获取系统时间问题 向java高手们请教:在只有一个类并且有局部变量覆盖成员变量的前提下如何在main方法中调用成员变量而不是调用局部变量?具体看以下程序 线程同步怎么这么复杂。。。 关于从String里面取值的问题 怎样生成HTML文件?如能提供例子立刻结贴!! jdk环境配置错误.为何? 请教websphere应用服务与web服务的整合问题!高分相送! 解压缩中文文件名乱码问题???急 哪有HTML语法的下载? java与数据库access的连接问题 求教Character类
比如:
(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])Date yyyy-mm-dd
1900-01-01 through 2099-12-31^_^
format没用,19810332会自动变成19810401的.
------------------再对两个字符串比较.看是不是一样,不样则说明不对!
年,月,日一个一个比较
虽然比较麻烦,但可靠
* User: zhuzf
* Date: 2004-12-23
* Time: 9:21:53
*/
public class Test {
/**
* 是否有效的日期
*
* @param dateStr
* @param pattern
* @return
*/
public static boolean isValidDate(String dateStr, String pattern) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(pattern);
try {
df.setLenient(false);
df.parse(dateStr);
return true;
} catch (ParseException e) {
return false; }
} public static void main(String[] args) throws Exception {
System.out.println("19810331 is valid? " + isValidDate("19810331", "yyyyMMdd"));
System.out.println("19810332 is valid? " + isValidDate("19810332", "yyyyMMdd"));
}
}