java连接数据库后,得到一个datetime数据,格式是如:2007-5-14 怎么取到月份5,并且转换成int型 ,先谢谢大家了!!!

解决方案 »

  1.   

    toString(),然后分析一下字符串
    或者使用DateFormat
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");然后Integer.parseInt(dateFormat(参数).subString(4, 6));
    方法很多
    是不是直接用Date.getMonth之类的也可以阿。不知道这个方法是不是已经过时了
      

  2.   

    转换成字符串,要统一格式,并按格式截取。如果是Date类型,有方法直接获取月份,不过要将得到的int值加1,才是真正的值。
      

  3.   

    /**
         * 根据yyyy-MM-dd的日期格式取出MM的日期格式
         * @param time 日期
         * @return String
         */
        public String getBeforeCurrentDate(String time){
         DateFormat df=new SimpleDateFormat("MM");
         try {
        time = df.format(df.parse(time));
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return time ;
        }
      

  4.   

    我已经解决了 ,不过是用getMonth做的,不过应经过时了,我写的函数是这样的。不知道用Calendar.get(Calendar.MONTH)该怎么写,还没有时间考虑。请大家一起做一下。谢谢    private static int start_month(int i) {
        
         
            int result1=0;
            int n=0;
            try{
            Statement     stmt=conn.createStatement();
            ResultSet     rs=stmt.executeQuery("select project_start from task");
            rs.next();
            while(n<i) {
                rs.next();
                n++;
                }
           
            final Date result0=rs.getDate(1);
            result1 = result0.getMonth();
            }catch(Exception e){
             e.printStackTrace();
            }
           
            return result1;
        }
      

  5.   

    忘了说了,我是从数据库了面读出project_start,是一个datetime类型数据。我要把这个datetime类型数据中的月、日、年分别读出来并且转换成int型。刚开始学java还希望大家指教 !!!