写一段JAVA代码判断日期格式是否正确
写一段JAVA代码判断日期格式是否正确日期靠以下语句输入intyear=input.nextInt();intmonth=input.nextInt();intday=i...
写一段JAVA代码判断日期格式是否正确 日期靠以下语句输入 int year = input.nextInt(); int month = input.nextInt(); int day = input.nextInt(); 写语句判断日期是否正确,比如说,当月份输入9月时,日大于30就不成立,同样,若是闰年,2月可以有29日
展开
1个回答
展开全部
static
public
boolean
isValidDate(
int
year,
int
mon,
int
day,
short
year_min,short
year_max,
StringBuffer
msg)
{
if(year<year_min
||
year>year_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return
false;
}else
if(mon<1
||
mon>12){
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return
false;
}else
if(day<1
||
day>31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return
false;
}else
if(mon==2){
if(isLeapYear(year)
&&
day>29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return
false;
}else
if(day>28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return
false;
}
}
return
true;
}
//闰年
static
public
boolean
isLeapYear(int
year){
return
(year%4==0
&&
year%100!=0)||
year%400==0;
}
public
boolean
isValidDate(
int
year,
int
mon,
int
day,
short
year_min,short
year_max,
StringBuffer
msg)
{
if(year<year_min
||
year>year_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return
false;
}else
if(mon<1
||
mon>12){
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return
false;
}else
if(day<1
||
day>31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return
false;
}else
if(mon==2){
if(isLeapYear(year)
&&
day>29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return
false;
}else
if(day>28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return
false;
}
}
return
true;
}
//闰年
static
public
boolean
isLeapYear(int
year){
return
(year%4==0
&&
year%100!=0)||
year%400==0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询