您的位置:

Java Timestamp转Date示例代码

一、Timestamp和Date的含义和区别

Timestamp是java.util包中的一个类,表示时间戳,其精确度到毫秒级别,通常用于记录事件发生的时间。

Date也是java.util包中的一个类,表示日期和时间,其精确度只到秒级别,用于表示年月日时分秒。

在Java中,Timestamp和Date都有其独特的用途,而相互转换也十分常见,本示例就是将Timestamp转为Date。

二、Java Timestamp转Date代码示例

示例代码如下,通过将Timestamp转为Long类型,再将Long类型转为Date类型,即可实现转换:
import java.sql.Timestamp;
import java.util.Date;

public class TimestampToDateExample {
   public static void main(String args[]) {
      // 创建一个Timestamp实例
      Timestamp timestamp = new Timestamp(System.currentTimeMillis());

      // 将Timestamp转为Long类型
      Long timestampLong = timestamp.getTime();

      // 将Long类型转为Date类型
      Date date = new Date(timestampLong);

      // 打印结果
      System.out.println("Timestamp:" + timestamp);
      System.out.println("Date:" + date);
   }
}
以上代码实现了将一个Timestamp类型的实例转为Date类型的实例,通过getTime()方法将Timestamp转为Long类型,再通过Date(long date)的构造函数将Long类型转为Date类型。

三、代码解析

这个代码示例可以分为三步实现。第一步是创建一个Timestamp实例,这里使用的是当前时间,也可以是从数据库中获取的Timestamp类型数据。

第二步是将Timestamp转为Long类型,这里通过调用getTime()方法实现。这个方法返回自1970年1月1日 00:00:00 GMT以来正毫秒数。该值确定什么时候发生了特定的TimeStamp等于的时间。

第三步是将Long类型转为Date类型,这里使用Date(long date)的构造函数,注意这个构造函数接收的参数是自1970年1月1日 00:00:00 GMT以来毫秒数,而不是自Timestamp开始的毫秒数。所以我们必须先通过getTime()方法将Timestamp类型的毫秒数转为Long型,再传给Date(long date)构造函数。

四、小结

本篇文章以Java Timestamp转Date为主题,对Timestamp和Date的含义和区别进行了讲解,并通过代码实现了将Timestamp类型的实例转为Date类型的实例。

Timestamp和Date的转换在Java开发中经常使用,开发者需要熟练掌握其转换方法。