Java编程时间格式与数据库中时间格式转化


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

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

  1. /**
  2. *
  3. * @param utilDate
  4. * @return
  5. */
  6. publicstatic java.sql.Date convertUtilDateToSqlDate(java.util.Date utilDate) {
  7. java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
  8. return sqlDate;
  9. }
  10. /**
  11. *
  12. * @param sqlDate
  13. * @return
  14. */
  15. publicstatic java.util.Date convertSqlDateToUtilDate(java.sql.Date sqlDate){
  16. java.util.Date utilDate =new java.util.Date(sqlDate.getTime());
  17. return utilDate;
  18. }

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

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

通过如下方法可以实现:

方法一:

  1. publicstatic java.sql.Date convertStringToSqlDate(String formatStr, String timeStr) {
  2. SimpleDateFormat bartDateFormat = new SimpleDateFormat(formatStr);
  3. java.sql.Date sqlDate = null;
  4. try {
  5. java.util.Date date = bartDateFormat.parse(timeStr);
  6. sqlDate = new java.sql.Date(date.getTime());
  7. System.out.println(sqlDate.getTime());
  8. } catch (Exception ex) {
  9. System.out.println(ex.getMessage());
  10. }
  11. return sqlDate;
  12. }

方法二:

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

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

  • 1
  • 2
  • 3
  • 下一页

相关内容