gpt4 book ai didi

java - 如何使用java将日期和时间发送到SQL

转载 作者:行者123 更新时间:2023-11-29 06:35:12 24 4
gpt4 key购买 nike

我正在调用数据库中的存储过程。它的两个参数需要 sql 日期格式的日期和时间。

String x = new SimpleDateFormat("MM-dd-yyyy").format(new Date()) + " 00:00:00 AM";
String y = new SimpleDateFormat("MM-dd-yyyy").format(new Date()) + " 11:59:00 PM";
Date fromDate = null;
Date toDate = null;
try {
fromDate = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss a").parse(x);
toDate = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss a").parse(y);
} catch (ParseException ex) {
}
CallableStatement proc_stmt = con.prepareCall("{ call someproc(?,?) }");
proc_stmt.setDate(1, (java.sql.Date) fromDate);
proc_stmt.setDate(2, (java.sql.Date) toDate);

我相信如果我只发送日期(不包括时间),代码可以工作,但它对我没有用,因为数据库不会生成正确的结果。当我运行上面的代码时,我得到了

ClassCastException:java.util.Date cannot be cast to java.sql.Date

有什么解决办法吗?

最佳答案

使用java.sql.Timestamp包含 sql 字段的日期和时间的类,以及 CallableStatement#setTimestamp :

proc_stmt.setTimestamp(1, new java.sql.Timestamp(fromDate.getTime());

关于java - 如何使用java将日期和时间发送到SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22217226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com