这个只能自己计算给出一个日期 date ,取得该日期所在月的第一天
取得一个月的第一天:
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal_temp.clear();
cal_temp.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),1);
cal_temp.getTime() 就是 date 所在月的第一天.

解决方案 »

  1.   

    //取得 某年某月的天数
    //月的数值为 0-11
    int[] days = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
    public int getDays(int year,int month)
    {
    if(month == 1){
    if(year%4 == 0){
    if(year%100 == 0){
    return 28;
    }else{
    return 29;
    }
    }else{
    return 28;
    }
    }
    else{
    return days[month];
    }
    }给出一个日期 date ,取得该日期所在月的最后一天
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    cal_temp.clear();
    cal_temp.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),getDays(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH)));
    cal_temp.getTime() 就是 date 所在月的最后一天.
      

  2.   

    第一天是1号最后一天用getActualMaximum(int field) 
      

  3.   

    Calendar cal = Calendar.getInstance();
    int maxDate = cal.getActualMaximum(Calendar.DATE);
    int minDate = cal.getActualMinimum(Calendar.DATE);这样就可以拿到月的最后和最前一天
    如果不是需要int而是Date,则可以再用
    cal.set(Calendar.DATE,maxDate).getTime();
    这个是不需要自己算的!!
      

  4.   

    Calendar thisMonth=Calendar.getInstance(); 
      if(month!=null&&(!month.equals("null"))) 
       thisMonth.set(Calendar.MONTH, Integer.parseInt(month) ); 
      if(year!=null&&(!year.equals("null"))) 
       thisMonth.set(Calendar.YEAR, Integer.parseInt(year) ); 
      year=String.valueOf(thisMonth.get(Calendar.YEAR)); 
    month=String.valueOf(thisMonth.get(Calendar.MONTH)); 
    thisMonth.setFirstDayOfWeek(Calendar.SUNDAY); thisMonth.set(Calendar.DAY_OF_MONTH,1); 
    int firstIndex=thisMonth.get(Calendar.DAY_OF_WEEK)-1; 
    int maxIndex=thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);for(int i=0;i<maxIndex;i++) 
      { 
       days[firstIndex+i]=String.valueOf(i+1); 
      }
      

  5.   

    Calendar类中有一些固定的参数,可以利用一下!
      

  6.   

    第一天还要函数啊?
    最后一天有函数的,Calendar里面看看。