您的位置:

Java中如何把Date类型转换为Timestamp类型

Java中如何把Date类型转换为Timestamp类型

更新:

要将Date对象转换为Java中的Timestamp对象,只需使用Timestamp类具有接受长整型值的构造函数,然后将Date对象的毫秒数作为参数进行传输。

一、基础转换方法

Date类型的数据可以通过Date类的getTime()方法获得其代表的毫秒数,然后将Date转换为Timestamp类的构造函数,从而将Date转换为Timestamp。

import java.sql.Timestamp;
import java.util.Date;
public class Main {
    public static void main(String[] args) {
        // 创建Date对象
        Date date = new Date();
        // Date转换为Timestamp
        Timestamp ts = new Timestamp(date.getTime());
        System.out.println("Timestamp: " + ts);
    }
}

二、使用java.time包中的API

从Java8开始,java.在time包中引入了新的日期和时间API,这些API更加强大和易于使用。在这些方法中,Instant类的静态方法now()可以获得当前的日期和时间,返回Instant对象,然后通过InstanttoEpochMilli()方法获得其代表的毫秒数,最终使用这个毫秒数来创建Timestamp对象。

import java.sql.Timestamp;
import java.time.Instant;
public class Main {
    public static void main(String[] args) {
        // 获取当前的Instant对象
        Instant instant = Instant.now();
        // Instant转换为Timestamp
        Timestamp ts = new Timestamp(instant.toEpochMilli());
        System.out.println("Timestamp: " + ts);
    }
}

三、使用java.time.LocalDateTime类

在java.在time包中,还有一个LocalDateTime类,它是一个不可改变的日期-时间对象,用来描述日期和时间,可以用来获取当前的日期和时间,然后将其转换成Timestamp。

import java.sql.Timestamp;
import java.time.LocalDateTime;
public class Main {
    public static void main(String[] args) {
        // 获取当前的LocalDateTime对象
        LocalDateTime ldt = LocalDateTime.now();
        // LocalDateTime转换为Timestamp
        Timestamp ts = Timestamp.valueOf(ldt);
        System.out.println("Timestamp: " + ts);
    }
}