谢谢

解决方案 »

  1.   

    public static String getMonthLastDay(java.sql.Date date)  {
        String day = new Integer(MyDateTime.getYearMonthDate(date.toString(), "Y")).
            toString();    int month = MyDateTime.getYearMonthDate(date.toString(), "M");
        if (month < 9) {
          day = day.substring(0, 4) + "-0" + new Integer(month + 1).toString();
        }
        else {
          day = day.substring(0, 4) + "-" + new Integer(month + 1).toString();
        }
        day = day + "-01";
        java.sql.Date mid_date = null;
        mid_date = mid_date.valueOf(day);
        return MyDateTime.DateAdd(mid_date, -1).toString();
      }
      

  2.   

    public static String getMonthFisrtDay(java.sql.Date date)  {
        String month;
        if (MyDateTime.getYearMonthDate(date.toString(), "M") > 9) {
          month = Integer.toString(MyDateTime.getYearMonthDate(date.toString(), "M"));
        }
        else {
          month = "0" +
              Integer.toString(MyDateTime.getYearMonthDate(date.toString(), "M"));
        }
        String day = Integer.toString(MyDateTime.getYearMonthDate(date.toString(),
            "Y")) + "-" + month + "-01";
        return day;
      }
      

  3.   

    起,肯定是x月1日
    止的话用Calendar+DateFormat,先把当前日期月份+1,再获取x+1月1日,再-1日,就是x月最后一日
      

  4.   

    public class Test3 { public static void main(String[] args) {
    fun01(Calendar.JUNE);
    }

    public static void fun01(int month){
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.MONTH, month);
    cal.set(Calendar.DAY_OF_MONTH, 1);
    Conica.pl("first day:" + new Date(cal.getTimeInMillis()));

    cal.add(Calendar.MONTH, 1);
    cal.set(Calendar.DAY_OF_MONTH, 0);
    Conica.pl("last day:" + new Date(cal.getTimeInMillis()));
    }
    }输出:
    first day:Thu Jun 01 21:19:41 CST 2006
    last day:Fri Jun 30 21:19:41 CST 2006
      

  5.   

    能否输出2005-06-31这种格式呢?---------------SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
    String s = sf.format(new Date()) ;
      

  6.   

    Calendar today = Calendar.getInstance();
    int nowYear = today.get(Calendar.YEAR);
    int nowMonth = today.get(Calendar.MONTH);
    Calendar targetFirstDay = Calendar.getInstance();
    targetFirstDay.set(nowYear,nowMonth,1);
    Calendar targetLastDay = Calendar.getInstance();
    targetLastDay.set(nowYear,nowMnoth+1,1;
    targetLastDay.add(Calendar.DAY_OF_MONTH,-1);
      

  7.   

    public void getFirstAndLastDay(String currentDayStr){//currentDayStr格式2006-06-26,如不是,请自行转换String firstDayStr = "";
    String lastDayStr = "";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Calendar c = Calendar.getInstance();
    c.clear();
    try{
    c.setTime(format.parse(currentDayStr));
    }
    catch(ParseException e){
    e.printStackTrace();
    System.out.println("转换字符串时出错,请检查字符串格式yyyy-MM-dd");
    return;
    }
    int currentYear = c.get(Calendar.YEAR);
    int currentMonth = c.get(Calendar.MONTH);//此值比实际月份少1
    c.set(currentYear,currentMonth,1);//当前月的第一天
    firstDayStr = format.format(c.getTime());
    c.set(currentYear,currentMonth + 1,0);//让下个月的第一天减一天即上个月的最后一天
    lastDayStr = format.format(c.getTime());
    System.out.println("firstDatStr: "  +firstDayStr + ";lastDayStr: " + lastDayStr);//test
    }