天天看点

java.sql.date和java.util.date的相互转换

在进行web开发的时候,发现mysql数据库中Date类型是java.sql.Date,但是java本身使用的是java.util.Date,所以需要进行相互转换,在这里整理一下自己了解到的东西。

两者的区别:

java.util.Date 就是在除了SQL语句的情况下面使用

java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分

其中,java.sql.Date是java.util.Date的子类

下面是在开发中比较常用到的方法:

//把string格式的日期转为java.sql.date保存到数据库上
// 例如-- 转为 java.sql.date

String str = "2017-01-02";
java.util.Date date1 = simpleDateFormat.parse(str);
java.sql.Date date2 = new java.sql.Date(date1.getTime());
System.out.println(date1);
System.out.println(date2);
           
//java.sql.date获取当前时间

java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
System.out.println(date.toString());
           
//java.util.date获取当前时间

java.util.Date date = new Date();
System.out.println(date);
String dateStr = simpleDateFormat.format(date);
System.out.println(dateStr);
           
//java.sql.date转换为java.util.date

java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
java.util.Date date2 = new java.util.Date(date.getTime());
System.out.println(simpleDateFormat.format(date2));