现在想得到某个月份的工作天数。

解决方案 »

  1.   

    import java.util.Calendar;
    public class MyTime {
        /**
         * 计算某个月的工作天数,周六周日不算
         * @param year,month
         * @return the number of workdays
         */
    public int WorkDays(int year,int month){

    int days=0;
    Calendar cal=Calendar.getInstance();
    Calendar cal2=Calendar.getInstance();
    cal.set(Calendar.YEAR,year);
    cal.set(Calendar.MONTH,month-1);
    cal.set(Calendar.DAY_OF_MONTH,1);
    cal2.set(Calendar.YEAR,year);
    cal2.set(Calendar.MONTH,month);
    cal2.set(Calendar.DAY_OF_MONTH,1);
    while(cal.compareTo(cal2)!=0){
    if((cal.get(cal.DAY_OF_WEEK)!=7)&&(cal.get(cal.DAY_OF_WEEK)!=1)) {
    days++;
    //System.out.println(cal.get(cal.DAY_OF_WEEK));
    }
    cal.add(cal.DATE,1);
    }

    return days;
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
            MyTime mt=new MyTime();
            int k=mt.WorkDays(2006,3);
            System.out.print(k);
    }
    }