📅  最后修改于: 2023-12-03 15:24:32.416000             🧑  作者: Mango
Java中有两个日期类:java.sql.Date
和 java.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
提供了一些构造函数可以将 long
类型的毫秒数转换为 java.util.Date
类型的日期。
我们可以通过以下步骤将 java.sql.Date
转换为 java.util.Date
:
java.sql.Date
对象所表示日期的毫秒数。可以通过 getTime()
方法实现。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
的 parse()
方法将 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.Date
的 toString()
方法将日期转换为字符串。SimpleDateFormat
的 parse()
方法将字符串转换为 java.util.Date
。以上就是将 java.sql.Date 转换为 java.util.Date 的两种方法。根据不同的应用场景和需求,选择不同的方法即可。