java.util.Date 和 java.sql.Date两者的使用及相互转换

点击超链接查看文章: 时间日期类详细总结大全 ——这里带来更全面的时间日期类讲解

java.util.Date(父类)
----java.sql.Date(子类)

1.掌握两个构造器的使用
java.util.Date() //无参构造器
java.util.Date(long Date) //创建指定毫秒数的Date对象
java.sql.Date(long Date) //只有一个有参的构造器

2.两个方法的使用
toString()方法 //直接返回当前时间
getTime()方法 //返回1970年至今的毫秒数//此方法跟System.currentTimeMillis()方法类似

3.java.sql.Date //专门用于数据库的时间
java.util.Date -> java.sql.Date
java.sql.Date -> java.util.Date

package com.Lindom.时间日期;
import java.util.Date;
public class DateDemo {

    public static void main(String[] args) {

        //java.util.Date的无参构造及两个方法的使用
        Date date = new Date();
        System.out.println("date = " + date.toString());    //Sat Jun 06 23:12:31 CST 2020
        System.out.println("date = " + date.getTime());    //1591455534797 //此方法跟System.currentTimeMillis()方法类似
        System.out.println("------------------------");

        //java.util.Date的有参构造及toString方法的使用
        Date date1 = new Date(1591455534797L);  //创建指定毫秒数的Date对象
        System.out.println("date1 = " + date1.toString());  //Sat Jun 06 22:58:54 CST 2020
        System.out.println("------------------------");

        //java.sql.Date的有参构造
        java.sql.Date date2 = new java.sql.Date(1591455534797L);
        System.out.println("date2 = " + date2);    //2020-06-06


        System.out.println("---------关于转换问题---------------");

//        以下这个转换方法肯定报错:因为java.util.Date是父类,java.sql.Date是子类,将父类直接强转为子类的前提是:多态
//        也就是说,父类的引用指向子类对象,这样的情况下才可以进行强转!
//        Date date3 = new Date();
//        java.sql.Date date4 = (java.sql.Date)date3;
//        System.out.println(date4);

        //如下就是父类引用指向子类对象的强转例子,也是java.util.Date转为java.sql.Date 的一个方法
        Date date3 = new java.sql.Date(1111254125632L);
        java.util.Date date4 = (java.sql.Date)date3;
        System.out.println("date3 = " + date3);
        System.out.println("date4 = " + date4);
        System.out.println("------------------------");

        //如下方法是将不涉及多态的data5,转为java.sql.Date的一种的方法
        Date date5 = new Date();
        java.sql.Date date6 = new java.sql.Date(date5.getTime());
        System.out.println("date5 = " + date5);
        System.out.println("date6 = " + date6);
        System.out.println("------------------------");

        //如下方法是将不涉及多态的data7,转为java.util.Date的一种的方法
        java.sql.Date date7 = new java.sql.Date(1232541256321L);
        Date date8 = new Date(date7.getTime());
        System.out.println("date7 = " + date7);
        System.out.println("date8 = " + date8);
        System.out.println("------------------------");
    }
}

最终的执行结果如下:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章