重要的概念:日期类和时间戳类都是用一个时间数值——日期相对于基准日期(1970年1月1日 GMT时间(格林尼治时间)0时0分0秒)的时间间隔(以毫秒为单位)long类型 来构造的

通过Date对象和Timestamp对象的getTime() 方法——获取时间数值,作为中间变量,可以实现转换

import java.sql.Timestamp;
import java.util.Date;

public class Test{
    public static void main(String[] args){
        //Date 转 Timestamp
        Date d = new Date(); //系统时间
        System.out.println(d.toString()); //Wed Dec 14 17:47:51 CST 2022 (CST表示北京时间)
        long time = d.getTime();
        System.out.println(time); //1671011534602,这其实是以毫秒为单位的
        Timestamp timestamp = new Timestamp(time);
        System.out.println(timestamp.toString()); //2022-12-14 17:47:51.531  (构造的时间戳有毫秒)

        //Timestamp 转 Date
        Timestamp timestamp2 = new Timestamp(1671011899628l); //是2022-12-14 17:58:19.628的时间数值
        System.out.println(timestamp2.toString()); //2022-12-14 17:58:19.628
        long time2 = timestamp2.getTime();
        Date date2 = new Date(time2);
        System.out.println(date2.toString()); //Wed Dec 14 17:58:19 CST 2022 (Date类型没有毫秒)
    }

}