如何判断上个月一号,到本月的最后一天?用Calendar

解决方案 »

  1.   

    上月初是那天是很好取得:取得当前月份-1再拼上01.就是上月初
    本月得最大值:getActualMaximum()方法
      

  2.   

    你是想问:用户输入一个日期,我如何判断这个日期是否是在当月的1号到5号之间?
    如果是这个问题,那方法如下:public boolean check(Date dateInput) {
      // 取日历,获得当前日期
      Calendar c = Calendar.getInstance();
      // 得到本月1号
      c.setDate(1);
      Date date1 = c.getTime();
      // 得到本月5号
      c.setDate(5);
      Date date5 = c.getTime();
      // 返回比较结果
      return dateInput.compareTo(date1) >= 0 && dateInput.compareTo(date5) <= 0;
    }
      

  3.   

    上月一号如何得到
    Calendar c = Calendar.getInstance();
    c.setDate(1);
    c.add(Calendar.MONTH, -1);
    Date 1stDayOfLastMonth = c.getTime();
      

  4.   


    Calendar begin = Calendar.getInstance();
    Calendar end=Calendar.getInstance();
    //得到上月1号
    begin.add(begin.MONTH, -1);
    begin.set(begin.DATE, 1);
    //得到本月最后一天
    end.set(end.DATE, end.getActualMaximum(end.DATE));
    System.out.println(begin.get(begin.YEAR)+"-"+(begin.get(begin.MONTH)+1)+"-"+begin.get(begin.DATE));
    System.out.println(end.get(end.YEAR)+"-"+(end.get(end.MONTH)+1)+"-"+end.get(end.DATE));