java.sql.Date java.util.Date String 之间的转换

项目中,java.sql.Date、java.util.Date和String三者之间要经常进行转换。下面是我写的转换代码,有不对的还请多多指教。

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 
 5 /**
 6  * java.util.Date
 7  * 1、就是在除了SQL语句的情况下面使用;是 java.sql.Date 的父类;
 8  * 2、是常用的表示时间的类,我们通常格式化或者得到当前时间都是用它。
 9  * 
10  * java.sql.Date
11  * 1、是针对SQL语句使用的,它只包含日期而没有时间部分;
12  * 2、读写数据库的时候用它,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。 
13  *
14  */
15 public class TestUtilAndSqlDate {
16     public static void main(String[] args) {
17         //java.util.date java.sql.date 之间的转换
18         Date date = new Date();
19         System.out.println("java.util.date***"+date.toString());
20         java.sql.Date  sqlDate = new java.sql.Date(date.getTime());
21         System.out.println("java.sql.date***"+sqlDate.toString());
22         
23         Date date2 = new Date(sqlDate.getTime());
24         System.out.println("java.util.date***"+date2);
25         
26         //String  java.util.date 之间的转换
27         SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
28         String formatUtilDate = sdf1.format(date);
29         System.out.println("formatUtilDate***"+formatUtilDate);
30         
31         try {
32             Date parseUtilDate = sdf1.parse(formatUtilDate);
33             System.out.println("parseUtilDate***"+parseUtilDate);
34         } catch (ParseException e) {
35             e.printStackTrace();
36         }
37         
38         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
39         String formatUtilDate2 = sdf2.format(date);
40         System.out.println("formatUtilDate2***"+formatUtilDate2);
41         
42         try {
43             Date parseUtilDate2 = sdf2.parse(formatUtilDate2);
44             System.out.println("parseUtilDate2***"+parseUtilDate2);
45         } catch (ParseException e) {
46             e.printStackTrace();
47         }
48         
49         
50         //String java.sql.Date 之间的转换 
51         //String 转 sql.date 可以用valueOf方法;sql.date转String需要用到 util.Date的getTime()方法
52         String formatSqlDate = "2013-05-09";
53         java.sql.Date valueOf = java.sql.Date.valueOf(formatSqlDate);
54         System.out.println("valueOf***"+valueOf);
55         
56 //        String formatSqlDate2 = "20130509";//String 格式错误 应为 yyyy-MM-dd
57 //        java.sql.Date valueOf2 = java.sql.Date.valueOf(formatSqlDate2);
58 //        System.out.println("valueOf2***"+valueOf2);
59         
60         java.sql.Date newSqlDate = new java.sql.Date(new Date().getTime());
61         System.out.println("sqlDateToString***"+newSqlDate.toString());
62         
63     }
64 }

 

posted @ 2013-05-10 13:14  雨心竹  阅读(5169)  评论(0编辑  收藏  举报