一、什么是 Timestamp 和 Date
在讨论 Java Timestamp 转换成 Date 之前,我们需要了解什么是 Timestamp 和 Date。
在 Java 中,java.sql.Timestamp
和 java.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 的格式和转换成毫秒数的方法。