java如何判断是否为有效的年月日

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:11:48
输入一个日期
判断这个日期是否有效

年 大于 1900
月 大于0,小于13
日 if(月=1,3,5,7,8,10,12){日大于1小于等于31};
else if{月=4,6,9,11}{日大于1小于等于30};
else if(年是润年){日大于1小于等于29};
else {日大于1小于等于28}

闰年的判断公式如下:能被4整除且不能被100整除(year%4==0&&year&&100!=0)

SimpleDateFormat df = null;
Date date = null;
df = new SimpleDateFormat("yyyyMMdd");
try {
date = df.parse(strDate);
} catch (ParseException pe) {
//如果能走到这里,就说明日期无效。
}

月和日还比较好说,
月-不能大于12,日-不能大于31。
但这个年就不一定了,以前看的一部电影《时光机器》,主角直接回到80W年后,那么就会有800W,8000W。。。。年以后。。
所以这个年份应该没有具体的约束。
呵呵。。。

正则表达式