📜  如何在Java中将Java .sql.Date 转换为Java .util.Date ?(1)

📅  最后修改于: 2023-12-03 15:24:32.416000             🧑  作者: Mango

如何在Java中将Java .sql.Date 转换为Java .util.Date

Java中有两个日期类:java.sql.Datejava.util.Date。他们都可以存储日期和时间值,但是两者之间有些许不同。其中,java.sql.Date是为了遵循SQL-92标准而设计的,它只能存储日期值而不能存储时间值。而 java.util.Date 可以存储日期和时间值。在开发中,我们可能需要将java.sql.Date 转换为 java.util.Date 或反之。本文将介绍如何在Java中将Java.sql.Date转换为Java.util.Date。

方法一:使用 java.util.Date 的构造函数

java.util.Date 提供了一些构造函数可以将 long 类型的毫秒数转换为 java.util.Date 类型的日期。

我们可以通过以下步骤将 java.sql.Date 转换为 java.util.Date :

  1. 首先,我们获取 java.sql.Date 对象所表示日期的毫秒数。可以通过 getTime() 方法实现。
  2. 然后,我们使用 java.util.Date 的构造函数将毫秒数作为参数传入。

以下是Java代码示例:

java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = new java.util.Date(sqlDate.getTime());

注释:

  • currentTimeMillis() 方法获取当前系统时间的毫秒数。
  • getTime() 方法返回 java.sql.Date 对象的毫秒数。
  • java.util.Date 的构造函数将毫秒数作为参数传入。
方法二:使用 SimpleDateFormat 类

SimpleDateFormat 是一个用于格式化和解析日期的类。我们可以通过 SimpleDateFormatparse() 方法将 java.sql.Date 转换为 java.util.Date

以下是Java代码示例:

java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = sdf.parse(sqlDate.toString());

注释:

  • currentTimeMillis() 方法获取当前系统时间的毫秒数。
  • java.sql.DatetoString() 方法将日期转换为字符串。
  • SimpleDateFormatparse() 方法将字符串转换为 java.util.Date

以上就是将 java.sql.Date 转换为 java.util.Date 的两种方法。根据不同的应用场景和需求,选择不同的方法即可。