Java中如何把Date类型转换为Timestamp类型
要在Java中将Date对象转换为Timestamp对象,只需利用Timestamp类有一个接受长整型数值的构造函数,然后将Date对象的毫秒数作为参数传递进去即可。
一、基础转换方法
在Java中,Date类型的数据可以通过Date类的getTime()方法获取其代表的毫秒数,然后传递给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
从Java 8开始,java.time包中引入了新的日期和时间API,这些API更加强大和易用。其中,Instant类的静态方法now()可以获取当前日期和时间,返回的是Instant对象,然后可以通过Instant的toEpochMilli()方法获取其代表的毫秒数,最后利用这个毫秒数创建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); } }