领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

Java数组数据的操作之检查日期格式是否正确

nixiaole 2025-05-05 18:02:35 知识剖析 4 ℃

程序源代码

/**

*<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);

}

}

运行结果图:

最近发表
标签列表