如何用JAVA检查一个日期是否为合法的?????????? 比如:String strDate = "2007/02/30"这个strDate明显是不合法的,请问怎么检查用JAVA代码?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有个日期的解析类SimpleDateFormat,里面有响应的解析函数 try { String strDate = "2007/02/30"; SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); df.parse(strDate); } catch (ParseException pe) { // }不合法的日期会抛出异常 用正则表达式 \d{4}\\/\d{2}\\//d{2} catch (ParseException pe) { //到这里表示日期不合法 } import java.text.SimpleDateFormat;import java.util.*;import java.text.ParseException;public class Test{ public static void main(String[] arg) { try { String strDate = "2007/02/30"; SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); Date d=df.parse(strDate); System.out.println(df.format(d)); }catch (ParseException pe) { pe.printStackTrace(); } } }out:2007/03/02日期直接往后加了。 public class Test{ public static void main(String[] arg) { try { String strDate = "2007/02/30"; SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); df.setLenient(false);//加上这句 Date d=df.parse(strDate); System.out.println(df.format(d)); }catch (ParseException pe) { pe.printStackTrace(); } } } 设置日期的解析格式为严格的。可以了。 out:java.text.ParseException: Unparseable date: "2007/02/30" at java.text.DateFormat.parse(Unknown Source) at Test.main(Test.java:12) 请教SMSlib库收短信实时监控的方法~ 面试厦门欧乐时的一道编程题,有兴趣请进! 怎么在用java向linux上传文件问题 怎样根据条件取消正在执行的TimeTask(续)? 编写了一个发送表单并读取web页面返回结果的程序,读取出来的是乱码。 JCreator打印代码~中文出现“□”怎么办? 如何使用poi进行excel单元格的查找和替换 求:取得applet面板大小的方法 为什么不能在JTextPane中实现水平滚动条,滚动文字. 急!!! Java面试时的一个排列组合问题 java基础问题 根据鼠标位置插入字符
String strDate = "2007/02/30";
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
df.parse(strDate);
} catch (ParseException pe) {
//
}不合法的日期会抛出异常
catch (ParseException pe) {
//到这里表示日期不合法
}
import java.text.SimpleDateFormat;
import java.util.*;
import java.text.ParseException;
public class Test{
public static void main(String[] arg) {
try {
String strDate = "2007/02/30";
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
Date d=df.parse(strDate);
System.out.println(df.format(d));
}catch (ParseException pe) {
pe.printStackTrace();
}
}
}out:
2007/03/02
日期直接往后加了。
public class Test{
public static void main(String[] arg) {
try {
String strDate = "2007/02/30";
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
df.setLenient(false);//加上这句
Date d=df.parse(strDate);
System.out.println(df.format(d));
}catch (ParseException pe) {
pe.printStackTrace();
}
}
} 设置日期的解析格式为严格的。可以了。
java.text.ParseException: Unparseable date: "2007/02/30"
at java.text.DateFormat.parse(Unknown Source)
at Test.main(Test.java:12)