Java 时间戳转日期

26 Oct 2024 | 4 分钟阅读
Java Convert Timestamp to Date

在 Java 中,将时间戳转换为日期被认为是一个简单明了的过程。时间戳可以用于表示一个特定的时刻,主要用于数据库相关操作。而日期则可以用于表示一个特定的时间点,可以是日期或一天中的时间。

时间戳到日期的转换可以通过多种方式实现。让我们在接下来的段落中详细了解它们。

方法:使用构造函数

在 Java 中,使用构造函数将时间戳转换为日期,需要利用 java.util.Date 类的构造函数,该构造函数接受一个 long 值,表示自 epoch 以来的毫秒数。java.sql 包中的 Timestamp 类扩展了 java.util.Date,使得此转换非常直接。要执行转换,您可以使用其 getTime() 方法从 Timestamp 中提取毫秒数,然后将该值传递给 Date 构造函数。

请记住,在使用构造函数将 Timestamp 类型转换为 Date 时,生成的 Date 对象将丢失 Timestamp 对象中存在的纳秒精度,因为 Date 仅保留到毫秒的精度。如果您需要纳秒精度,则可能需要使用其他方法,例如 Java 8 中引入的 java.time 类。

让我们看一个实现上述方法的 Java 程序示例。

文件名: TimestampToDate.java

输出

Original Timestamp: 2024-03-29 22:26:12.454
Converted Date: Fri Mar 29 22:26:12 IST 2024

方法:使用 Date 引用

在 Java 中,使用日期引用将时间戳转换为日期,涉及创建一个日期对象并根据时间戳值设置其时间。当我们要重用现有的日期对象而不是创建一个新对象时,这种方法很有用。

要实现此转换,我们首先创建一个 Timestamp 对象,表示您要转换的时间,这可以是当前时间,也可以是来自数据库或其他来源的特定时间。接下来,我们创建一个要使用 Timestamp 值修改或设置的 Date 对象。

Date 对象可以使用默认构造函数实例化,该构造函数将其初始化为当前时间。最后,您可以使用 Date 类的 setTime() 方法,传递 Timestamp 的毫秒值,来设置 Date 对象的时间。

让我们看一个实现上述方法的 Java 程序示例。

文件名: TimestampToDate1.java

输出

Original Timestamp: 2024-03-29 22:35:44.703
Converted Date: Fri Mar 29 22:35:44 IST 2024

方法:使用 Calendar 类

在 Java 中,使用 Calendar 类将时间戳转换为日期是一个多步过程。首先,我们创建一个 Calendar 实例,并使用 Timestamp 的毫秒值设置其时间。然后,我们从 Calendar 实例中提取年、月、日、时、分、秒和毫秒组件,并使用它们来构建一个新的 Date 对象。

当我们需要执行日期操作或提取日期的特定组件时,此方法很有用。但是,需要注意的是,Calendar 类被认为有些过时,建议使用 Java 8 中引入的 java.time API 来进行日期和时间操作。

让我们看一个实现上述方法的 Java 程序示例。

文件名: TimestampToDate2.java

输出

Original Timestamp: 2024-03-31 01:22:20.667
Converted Date: Sun Mar 31 01:22:20 IST 2024

以上是关于 Java 中时间戳转换为日期的所有必需信息和解释。