您的位置:

Java Timestamp 转换成 Date

一、什么是 Timestamp 和 Date

在讨论 Java Timestamp 转换成 Date 之前,我们需要了解什么是 Timestamp 和 Date。

在 Java 中,java.sql.Timestampjava.sql.Date 都是表示日期时间的类。 Timestamp 表示时间戳(自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数),而 Date 表示年月日。

二、Timestamp 转换成 Date 的方法

在 Java 中,将 Timestamp 转换成 Date,可以使用下面两种方法:

1. 使用 java.util.Date 的构造方法

Timestamp timestamp = Timestamp.valueOf("2022-01-01 12:00:00");
Date date = new Date(timestamp.getTime());
System.out.println(date);

上面的代码中,我们首先创建了一个 Timestamp 对象,并将其转换为毫秒数,然后使用 Date 的构造方法将毫秒数转换成 Date 对象。

2. 使用 SimpleDateFormat 解析

Timestamp timestamp = Timestamp.valueOf("2022-01-01 12:00:00");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse(timestamp.toString());
System.out.println(date);

上面的代码中,我们使用 SimpleDateFormat 对象将 Timestamp 对象的字符串表示解析成 Date 对象。

三、如何格式化输出 Date 对象

当我们把 Timestamp 转换成 Date 对象后,如果需要将其以一定格式输出,可以使用 SimpleDateFormat 对象。

例如,我们需要将 Date 对象按照 yyyy-MM-dd HH:mm:ss 的格式输出:

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = dateFormat.format(date);
System.out.println(formattedDate);

四、注意事项

在使用 Timestamp 转换成 Date 的过程中,需要注意以下问题:

  • Timestamp 的格式必须为:yyyy-MM-dd HH:mm:ss。如果没有这个格式,需要先使用 SimpleDateFormat 对象将其解析成 Timestamp 对象。
  • Timestamp 只能转换成毫秒数,因此需要使用 Date 的构造方法将毫秒数转换成 Date 对象。

五、总结

本文介绍了如何将 Java Timestamp 对象转换成 Date 对象,并介绍了两种转换方法和输出格式化的方法。在使用转换的过程中,需要注意 Timestamp 的格式和转换成毫秒数的方法。