无法将java.util.date强制转换为java.sql.date

时间:2017-10-23 08:41:29

标签: java java-date

我有以下代码片段,我将java.util.date强制转换为java.sql.date时会出现连续错误。

        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        storedProcedureCall.setLong(1, 12345);
        storedProcedureCall.setDate(2, (java.sql.Date) sdf.parse("09/02/2017"));
        storedProcedureCall.setDate(3, (java.sql.Date) sdf.parse("10/02/2017"));

我在这里做错了什么。我也导入了java.util.Date包。

1 个答案:

答案 0 :(得分:1)

班级java.util.Datejava.sql.Date完全不同。因此无法施展。

您可能打算使用java.util.Date。检查您的storedProcedureCall#setDate签名,它可能会意外导入java.sql.Date而不是java.util.Date

请注意,现在不再使用Date类了。而是使用位于包java.time内的新现代API。像这样:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDateTime dateTime = LocalDateTime.parse(dateAsString, formatter);
相关问题