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

本文标题为:Java中如何把Date类型转换为Timestamp类型