怎么判断两个时间内有多少工作日?最好提供代码,万分感谢

解决方案 »

  1.   


    package com.test.date;import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;public class CalWorkDate
    {
    public static int workDate(Date d1,Date d2)
    {
    int count = 0;
    if(d1.after(d2))
    {
    return -1;
    }
    Calendar cal = Calendar.getInstance();
    cal.setTime(d1);
    while(d1.before(d2))
    {
    int day = cal.get(Calendar.DAY_OF_WEEK);
    if(day<=7 && day>=1)
    {
    count++;
    }
    cal.add(Calendar.DATE,1);
    d1 = cal.getTime();
    }
    return count;
    }

    public static void main(String[] args)
    {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    Date d1 = null;
    Date d2 = null;
    try
    {
    d1 = df.parse("2011-04-07");
    d2 = df.parse("2011-04-25");
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    System.out.println(CalWorkDate.workDate(d1, d2));
    }
    }