要将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); } }