我现在编制一个程序,需要在文本框中输入日期格式的数字字符串,格式如:2005-11-1,然后点击按钮。请问:如何编写才能检测出我输入的这个日期是不是正确的呢?
不正确的情况如下:
1、输入了错误的字符串,如:2005-a0-10
2、输入的数字字符位数错误,如:205-11-1
3、输入的日期错误,如:2005-11-32,把11分输入了32天。
最后此检测程序还需要能正确识别以下格式:(输入以下都按正确检测)
2005-11-1 2005-11-01 2005-7-21 2005-07-21 2005-01-10 2005-1-1
希望高手能给编写一下,小弟不胜感激!
不正确的情况如下:
1、输入了错误的字符串,如:2005-a0-10
2、输入的数字字符位数错误,如:205-11-1
3、输入的日期错误,如:2005-11-32,把11分输入了32天。
最后此检测程序还需要能正确识别以下格式:(输入以下都按正确检测)
2005-11-1 2005-11-01 2005-7-21 2005-07-21 2005-01-10 2005-1-1
希望高手能给编写一下,小弟不胜感激!
解决方案 »
- 求助关于数据类型的问题。。。
- 关于getTookit().getImage获取图片,为什么不能显示呢。。。
- 关于Eclipse集成开发工具
- 数组下标溢出异常:大家帮忙看看这段代码。。。。。。。
- 全部分请教:何使用“tomcat的webdav”?
- 读取和修改JS文件,很及,在线等
- 救命!如何自动改变jPanel的大小,搞分请教
- 在线救助(小问题)
- Java数据库编程的问题,欢迎大家讨论。
- 关于运行java程序的问题,help!
- 关于JAVA连接SQLServer2000的问题,为什么总是java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing
- 用exec()调用ping命令不能正常结束
d.setLenient(false);
Date day=d.parse("2005-11-32");
这就会出错,
java.text.ParseException: Unparseable date: "2005-11-32"
捕捉这个异常就可以了
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/**
* @author ww
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class DateUtil {
public static boolean isDate(String sDate, String sFmt) {
Date dt = null;
try {
DateFormat df = new SimpleDateFormat(sFmt);
df.setLenient(false);
dt = df.parse(sDate);
} catch (ParseException e) {
return false;
}
return true;
} public static void main(String[] args) {
String df = "yyyy-MM-dd";
String date = "2001-2-29";
System.out.println(isDate(date, df));
}
}