1、util.Date和sql.Date之间的关系

我们来看下java.sql.Date的源码

package java.sql;

import java.time.Instant;
import java.time.LocalDate;


public class Date extends java.util.Date {}

从以上源码可以看出,sql.Date是util.Date的子类

 

2、util.Date的构造方法

以下是java.util.Date的方法部分方法图示:

 

可以看到,主要有两个构造方法推荐使用,添加了 标记的表示这些方法已经被废弃,不推荐使用。

所以对于,java.util.Date 常用的构造方法有:

Date()

Date(long)  方法参数为一个长整型的毫秒值

其中,java.util.Date中还有一个重要的方法:就是获取当前时间的毫秒值

public class Date
    implements java.io.Serializable, Cloneable, Comparable<Date>
{
/**
     * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
     * represented by this <tt>Date</tt> object.
     *
     * @return  the number of milliseconds since January 1, 1970, 00:00:00 GMT
     *          represented by this date.
     */
    public long getTime() {
        return getTimeImpl();
    }
}

从以上源码可以看到,该方法是public的,所以,它的子类sql.Date也是可以继承该方法的。

 

3、sql.Date的构造方法

以下是java.sql.Date的方法部分方法图示:

可以看到,sql.Date主要有一个构造方法:Date(long)

 

4、util.Date和sql.Date之间的转换

// 1) 创建java.util.Date的对象

java.util.Date utilDate = new java.util.Date();



// 2)将java.util.Date转成java.sql.Date

long datems  = utilDate.getTime();

java.sql.Date  sqlDate = new java.sql.Date(datems);



// 3)将 java.sql.Date 转成 java.util.Date

long datems2 = sqlDate.getTime();

java.util.Date  utilDate = new java.util.Date(datems2);

 

此文希望可以帮助到大家。如有错误,请指教。                                                           

如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读。

 

更多推荐

java中java.util.Date和java.sql.Date之间的转换