//计算两个日期之间的天数 public static int daysOfTwo(Date fDate,Date oDate) { //首先定义一个calendar,必须使用getInstance()进行实例化 Calendar aCalendar=Calendar.getInstance(); //里面野可以直接插入date类型 aCalendar.setTime(fDate); //计算此日期是一年中的哪一天 int day1=aCalendar.get(Calendar.DAY_OF_YEAR); aCalendar.setTime(oDate); int day2=aCalendar.get(Calendar.DAY_OF_YEAR); //求出两日期相隔天数 int days=day2-day1; return days; }
public static int daysOfTwo(Date fDate,Date oDate)
{
//首先定义一个calendar,必须使用getInstance()进行实例化
Calendar aCalendar=Calendar.getInstance();
//里面野可以直接插入date类型
aCalendar.setTime(fDate);
//计算此日期是一年中的哪一天
int day1=aCalendar.get(Calendar.DAY_OF_YEAR);
aCalendar.setTime(oDate);
int day2=aCalendar.get(Calendar.DAY_OF_YEAR);
//求出两日期相隔天数
int days=day2-day1;
return days;
}
用数据库如何操作?to:blackdreamzg(基本靠手)
考虑去除周六,周日怎么做?谢谢!
select to_date('200506','yyyymm') - to_date('200505','yyyymm') d from dual;
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(sDate);
int day1=calendar.get(Calendar.DAY_OF_YEAR);
calendar.setTime(eDate);
int day2=calendar.get(Calendar.DAY_OF_YEAR);
//求出两日期相隔天数
int days=day2-day1;
//除去星期六、天
days = (days - days%7)*5/7 + ((days%7>5)?5:days%7);
return days;
}
运行
daysOfTwo(new Date("2005/08/20"),new Date("2005/08/26"));
结果是5
private static int daysOfTwo(Date sDate,Date eDate)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(sDate);
int week = calendar.get(Calendar.DAY_OF_WEEK);
int day1=calendar.get(Calendar.DAY_OF_YEAR);
calendar.setTime(eDate);
int day2=calendar.get(Calendar.DAY_OF_YEAR);
//求出两日期相隔天数
int days=day2-day1;
int n = days%7;
if (n+week==7 || week==7)
n = (n-1)>0?n-1:0;
else if(n+week>7)
n = n-2;
//除去星期六、天
days = (days - days%7)*5/7 + n;
return days;
}
public static int dayOfWeek(Date date)
{
//首先定义一个calendar,必须使用getInstance()进行实例化
Calendar aCalendar=Calendar.getInstance();
//里面野可以直接插入date类型
aCalendar.setTime(date);
//计算此日期是一周中的哪一天
int x=aCalendar.get(Calendar.DAY_OF_WEEK);
return x;
}