关于编程语言中的时间格式和关系型数据中的中时间格式问题的转化一直都是个简单而又不得不权衡的问题,这牵扯到数据库设计和SQL编程和应用程序中时间格式数据的处理的编程,两者总能够交缠在一起。

  关于Java中的时间格式和数据库中的时间格式转换在这里先写两个方法:

    /**
         * 
         * @param utilDate
         * @return 
         */
        public static java.sql.Date convertUtilDateToSqlDate(java.util.Date utilDate) { 
            java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 
            return sqlDate; 
        } 
         
        /**
         * 
         * @param sqlDate
         * @return 
         */
        public static java.util.Date convertSqlDateToUtilDate(java.sql.Date sqlDate){ 
            java.util.Date utilDate =new java.util.Date(sqlDate.getTime()); 
            return utilDate; 
        }

  普通的转换是很容的,但是想要获取到一定的格式得下些功夫了。

  1、从应用程序中向数据库中写入字段类型为Date类型的数据

  比如:PreparedStatement.setDate(int ,java.sql.Date)方法 说明:其中的java.sql.Date可以用上面的方法转化得到

  比如:TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),"YYYY-  MM-DD HH24:MI:SS")

  可以通过SQL语句进行处理:SQL=“UPDATE TABLENAME SET TIMER = TO_DATE(" "+ TIMEMISS +" ", ' yyyymmddhh24miss' ) WHERR ... ” 注 TIMEMISS 为变量  例如:20080522131223 类型

  2、将指定格式的字符串转换为数据库的时间类型java.sql.Date

  通过如下方法可以实现:

  方法一:

    public static java.sql.Date convertStringToSqlDate(String formatStr, String timeStr) { 
            SimpleDateFormat bartDateFormat = new SimpleDateFormat(formatStr); 
            java.sql.Date sqlDate = null; 
            try { 
                java.util.Date date = bartDateFormat.parse(timeStr); 
                sqlDate = new java.sql.Date(date.getTime()); 
                System.out.println(sqlDate.getTime()); 
            } catch (Exception ex) { 
                System.out.println(ex.getMessage()); 
            } 
            return sqlDate; 
        }

  方法二:

    String strDate = "2002-08-09"; 
            StringTokenizer st = new StringTokenizer(strDate, "-"); 
            java.sql.Date date = new java.sql.Date(Integer.parseInt(st.nextToken()));

  这样通过不同的方式都可以解决这个问题。