s
import java.util.Date;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
//javac -encoding utf-8 CalendarTest.java
public class CalendarTest {
static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
public static void main(String[] args) {
if(args == null || args.length < 2){
System.out.println("No parameters found!");
return;
}
String txtDate = args[0];
int lenth = Integer.parseInt(args[1]);
String txtDate2 = args[2];
try {
Date start = dateFormat.parse(txtDate);
/*
System.out.println("The Input Date: " + dateFormat.format(start));// 20120601
Date end = addDate(start, lenth);
System.out.println("The Added Date: " + dateFormat.format(end));
*/
Date current = dateFormat.parse(txtDate2);
int ret = compareDate(start, lenth, current);
System.out.println("ret=: "+ ret);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
/*
日期区间判断:
返回值:
-1:区间左侧
0 :区间内
1:区间右侧
参数:
start :开始日期
lenth :日期长度
current:当前日期
如:
compareDate(20121001, 7, 20120929)=-1
compareDate(20121001, 7, 20120930)=-1
compareDate(20121001, 7, 20121001)=0
compareDate(20121001, 7, 20121007)=0
compareDate(20121001, 7, 20121008)=1
compareDate(20121001, 7, 20121009)=1
*/
public static int compareDate(Date start, int lenth, Date current) {
int ret1 = current.compareTo(start);
Date end = addDate(start, lenth-1);
int ret2 = current.compareTo(end);
if(ret1<0) {
return -1;
} else if(ret2>0) {
return 1;
} else {
return 0;
}
}
/*
日期加法:
如:addDate(20121001, 7)=20121008
如:addDate(20121031, 2)=20121102
*/
public static Date addDate(Date start, int lenth) {
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(start);
//System.out.println("The Input Date: " + calendar.getTime());//12345678901234
//System.out.println("The Input Date: " + dateFormat.format(calendar.getTime()));// 20120601
calendar.add(GregorianCalendar.DATE, lenth);
//System.out.println("The Added Date: " + dateFormat.format(calendar.getTime()));
return calendar.getTime();
}
}
s
s
s