首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java:不能将java.util.date强制转换为java.sql.Time

Java:不能将java.util.date强制转换为java.sql.Time
EN

Stack Overflow用户
提问于 2013-03-05 01:16:28
回答 5查看 18.2K关注 0票数 2

我已经从millis转换了时间,现在我想用这个时间值做一个SQL插入。我试过了,但不起作用:

代码语言:javascript
代码运行次数:0
运行
复制
        String INSERT_RECORD ="INSERT INTO PRAVIDLA (CAS,DEN,MIESTNOST,STAV) values(?,?,?,?)";
        PreparedStatement pstmt = con.prepareStatement(INSERT_RECORD);

        Calendar calendar1 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));       
        calendar1.setTimeInMillis(milli);
        Time Cas2 = (Time) calendar1.getTime();

        pstmt.setTime(1, Cas2);
        pstmt.setInt(2, DEN);
        pstmt.setString(3, MIESTNOST);
        pstmt.setString(4, STAV);
        pstmt.executeUpdate();

有什么建议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-05 01:24:39

下面是我遇到类似问题时所做的事情。

代码语言:javascript
代码运行次数:0
运行
复制
java.util.Date utilDate = new java.util.Date("mm/dd/yyyy");
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

用实际日期替换"mm/dd/yyyy“

票数 5
EN

Stack Overflow用户

发布于 2013-03-05 01:20:17

java.sql.Time扩展了java.util.Date,所以您不能简单地转换它。

您可以尝试如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
Time time = new Time(date.getTime());
票数 9
EN

Stack Overflow用户

发布于 2013-03-05 01:20:13

calendar1.getTime()返回一个Date对象,而TimeDate的子类,因此Date不能转换为Time。您可以尝试执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
Time Cas2 = new Time(calendar1.getTimeInMillis());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15207158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档