此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【tianshengling】截止到2008-07-21 09:44:56的历史汇总数据(不包括此帖):
发帖的总数量:6                        发帖的总分数:160                      每贴平均分数:26                       
回帖的总数量:8                        得分贴总数量:1                        回帖的得分率:12%                      
结贴的总数量:6                        结贴的总分数:160                      
无满意结贴数:1                        无满意结贴分:30                       
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:100.00%               结分的百分比:100.00%                  
无满意结贴率:16.67 %               无满意结分率:18.75 %                  
敬礼!

解决方案 »

  1.   

    /**
         * 取得指定日期的所处月份的第一天
         *
         * @param date 指定日期。
         * @return 指定日期的所处月份的第一天
         */
        public static synchronized java.util.Date getFirstDayOfMonth(java.util.Date date) {
            /**
             * 详细设计: 1.设置为1号
             */
            GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
            gc.setTime(date);
            gc.set(Calendar.DAY_OF_MONTH, 1);
            return gc.getTime();
        }
      

  2.   

    因为你求的是日期区间,没有什么可变化的,把时间区间写死就可以了,比如String dateArea[] = new String[]{"","1-1至1-31","2-1至2-28","3-1至3-31","4-1至4-30","5-1至5-31","6-1至6-30",
                                     "7-1至7-31","8-1至8-31","9-1至9-31","10-1至10-30","11-1至11-31","12-1至12-30"};
    如果是闰年,则dateArea[2]="2-1至2-29"
    然后指定前n个月的区间
    则dataArea[n-1>0?n-1:13-n],dataArea[n-2>0?n-2:13-n-1],dataArea[n-3>0?n-3:13-n-2]代表n月的前3个月的区间
    假如年份是year,注意当月份是3月以前时,年份要倒退一年
      

  3.   

    不好意思,上面有点错误,更正如下:
    前n个月的区间为:
    n==1 dataArea[12],dataArea[11],dataArea[10]
    n==2 dataArea[1],dataArea[12],dataArea[11]
    n==3 dataArea[2],dataArea[1],dataArea[12]
    其他时候 dataArea[n-1],dataArea[n-2],dataArea[n-3]
      

  4.   

    String dateArea[] = new String[]{"","1-1至1-31","2-1至2-28","3-1至3-31","4-1至4-30","5-1至5-31","6-1至6-30",
                                    "7-1至7-31","8-1至8-31","9-1至9-31","10-1至10-30","11-1至11-31","12-1至12-30"}; 
    if(year%4==0 ||(year%100==0 && year%400!=0))
    {
      dateArea[2]="2-1至2-29";
    } if(month == 1)
    {
      (year-1)+dataArea[12],(year-1)+dataArea[11],(year-1)+dataArea[10] 是你要的日期区间
    }else if(month == 2)
    {
      year+dataArea[1],(year-1)+ataArea[12],(year-1)+ataArea[11] 是你要的日期区间
    }else if(month == 3)
    {
      year+dataArea[2],year+dataArea[1],(year-1)+dataArea[12] 是你要的日期区间
    }else
    {
      year+dataArea[n-1],year+dataArea[n-2],year+dataArea[n-3] 是你要的日期区间
    }实现的比较笨,不用脑子的那种,楼主别笑哦,呵呵
      

  5.   

    闰年又有问题,呵呵,是if((year%4==0 && year%100!=0) || year % 400 ==0) 晕啊