//本代码在jdk1.5中通过
//构造字符串时间分析器
import java.math.*;
import java.util.*;
class Fenxi{
Fenxi(String inputDate1,String inputDate2){
System.out.println(inputDate1+"--"+inputDate2);
//正则表达式
String regex="//d{4}/56//d[1-12]/56//d[1-31]";
//分析器
StringTokenizer fenxiqi1=new StringTokenizer(inputDate1,".");
StringTokenizer fenxiqi2=new StringTokenizer(inputDate2,".");
Calendar cal1=Calendar.getInstance();
long day1=0,day2=0;
int dates[]=new int[6];
//是否符合正则表达式
if(inputDate1.matches(regex)&&inputDate2.matches(regex)){//在jdk1.4以下String中无此方法!
dates[0]=(Integer.parseInt((fenxiqi1.nextToken())));
dates[1]=(Integer.parseInt((fenxiqi1.nextToken())));
dates[2]=(Integer.parseInt((fenxiqi1.nextToken())));
dates[3]=(Integer.parseInt((fenxiqi1.nextToken())));
dates[4]=(Integer.parseInt((fenxiqi1.nextToken())));
dates[5]=(Integer.parseInt((fenxiqi1.nextToken())));
};
cal1.set(dates[0],(dates[1]-1),dates[2]);
day1=cal1.getTimeInMillis();//getTimeInMillis()返回类型为long的日期的毫秒表示[在jdk1.3中不能使用]
cal1.set(dates[3],(dates[4]-1),dates[5]);
day2=cal1.getTimeInMillis();
day2=(day2-day1)/(1000*60*60*24);
System.out.println("相隔"+day2+"days");
}
}
public class p126_3{
public static void main(String[] args){
Fenxi hehe=new Fenxi("2005.3.12","2008.4.25");
}
}
java程序设计基础教程第二版: p126_3 构造字符串时间分析器
最新推荐文章于 2019-06-21 18:36:39 发布