Java数组数据的操作之检查日期格式是否正确
程序源代码
/**
*<p>Title:数组数据的操作</>
*@author author
*version 0.1
*/
public class myArray034
{
//初始化数组变量
char[] cNum = {"1","2","3","4","5","6","7","8","9","0"};
int[] iMonth={31,28,31,30,31,30,31,31,30,31,30,31};
/**
*<br>方法说明:判断是否是数字
*<br>输入参数:String sPara。 需要判断的字符串
*<br>返回类型:boolean。如果都是数字类型,返回true;否则返回false
*/
public boolean isNumber(String sPara){
int iPLength = sPara.length();
for(int i=0;i<iPLength;i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j=0;j<cNum.length;j++){
if(cTemp==cNum[j]){
bTemp = true;
break;
}
}
if(!bTemp) return false;
}
return true;
}
/**
*<br>方法说明:判断是否是闰年
*<br>输入参数:int iPara。要判断的年份
*<br>返回类型:boolean。如果是闰年返回true,否则返回false
*/
public boolean chickDay(int iPara){
return iPara%100==0&&iPara%4==0;
}
/**
*<br>方法说明:检查日期格式是否正确
*<br>输入参数:String sPara。要检查的日期字符
*<br>返回类型:int 0 日期格式正确,-1月或这日不合要求,-2年月日格式不正确
*/
public int chickData(String sPara){
boolean bTemp = false;
//所输入日期长度不正确
if(sPara.length()!=10)return -2;
//获取年
String sYear = sPara.substring(0,4);
//用方法substring截取sPara中从0开始至4结束时的字符串,并将其赋值给sYear;
//判断年是否为数字
if(!isNumber(sYear))return -2;
//获取月份
String sMonth = sPara.substring(5,7);
//用方法substring截取sPara中从5开始至7结束时的字符串,并将其赋值给sMonth;
//判断月份是否为数字
if(!isNumber(sMonth))return -2;
// 获取日
String sDay = sPara.substring(8,10);
//判断日是否为数字
if(isNumber(sDay))return -2;
//将年,月,日转换为数字
int iYear = Integer.parseInt(sYear);
//Integer.parseInt方法:作用将字符串参数作为有符号的十进制整数进行解析
int iMon = Integer.parseInt(sMonth);
int iDay = Integer.parseInt(sDay);
if(iMon>12)return -1;
//闰年二月处理
if(iMon==2&&chickDay(iYear)){
if(iDay>29)return 2;}else{if(iDay>iMonth[iMon-1]) return -1;}
return 0;
}
/**
*<br>方法说明:主程序
*<br>输入参数:
*<br>返回类型
*/
public static void main(String[] arges){
myArray mA = new myArray();
System.out.println("0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确 ");
System.out.println("2003-12-89");
int iIsTime = mA.chickData("2003-12-89");
System.out.println("1:iIsTime="+iIsTime);
System.out.println("2003-111-08");
iIsTime = mA.chickData("2003-111-08");
System.out.println("2:iIsTime="+iIsTime);
System.out.println("2003-10-08");
iIsTime = mA.chickData("2003-10-08");
System.out.println("3:iIsTime="+iIsTime);
System.out.println("2000-02-30");
iIsTime = mA.chickData("2000-02-30");
System.out.println("4:iIsTime="+iIsTime);
}
}
运行结果图:
- 上一篇:JAVA关于日期增加一天,页面日期格式化,日期比较大小
- 下一篇:IOS内存管理