程序中定义了以个String month = “2009-02”
如何判断这个月天数啊?这只是个String类型的变量。要是换了怎么办?
大家支支招啊 谢谢了~~

解决方案 »

  1.   

    String 是时间控件输入进去的~~~可能会变化
    谢了啊
      

  2.   

    //获取某年某月天数
    function GetDays(Year,Month)
    {
    return new Date(Year,Month,0).getDate();  
    }
      

  3.   

     /**
         * 格式化日期
         * @param dateStr 字符型日期
         * @param format 格式
         * @return 返回日期
         */
        public static java.util.Date parseDate(String dateStr, String format) {
            java.util.Date date = null;
            try {
                java.text.DateFormat df = new java.text.SimpleDateFormat(format);
                String dt = dateStr.replaceAll("-", "/");
                if ((!dt.equals("")) && (dt.length() < format.length())) {
                    dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]",
                            "0");
                }
                date = (java.util.Date) df.parse(dt);
            } catch (Exception e) {
            }
            return date;
        }
    得到一个月的天数
    Calendar c = Calendar.getInstance();   
            c.setTime();
            int num=c.getActualMaximum(Calendar.DAY_OF_MONTH);  
      

  4.   

    Calendar  有方法吧getInstance()取日历再取最大值
      

  5.   

    getActualMaximum()这个返回指定日历字段可能拥有的最大值  
    不知道是不是你想要的结果
      

  6.   


    public static void main(String[] args){
    System.out.println(getDays("2009-04"));
    }public static int getDays(String ym){
    String[] aym = ym.split("-");
    int year = Integer.parseInt(aym[0]);
    int month = Integer.parseInt(aym[1]);
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR,year);
    c.set(Calendar.MONTH,month-1);
    return c.getActualMaximum(Calendar.DAY_OF_MONTH);
    }
      

  7.   

                    Date cur_date = new Date();
    Calendar   calc = new GregorianCalendar();
    calc.setTime(cur_date);

    int year = calc.get(Calendar.YEAR);
    int month = calc.get(Calendar.MONTH) + 1;
    int day = calc.get(Calendar.DAY_OF_MONTH);
    导入包后,直接调用就行
    有试过
      

  8.   

    不需要获取啊,我已经有这个时间字符串了,就是要经过处理得出来这个月的最大天数啊,我for循环求每天的值。所以需要知道i<天数啊
      

  9.   


    import java.util.Calendar;public class Test { public static void main(String[] args) {
    Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(java.sql.Date.valueOf("2009-11-01").getTime());
    System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
    }
    }
      

  10.   

    java.util.Calendar c = java.util.Calendar.getInstance();
    c.set(java.util.Calendar.YEAR, 2009);
    for (int i = 0; i < 12; i++) {
    c.set(java.util.Calendar.MONTH, i);
    System.out.println((i + 1) + " : "
    + c.getActualMaximum(java.util.Calendar.DAY_OF_MONTH));
    }