有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jdbc转换java。sql。日期到java。util。日期

转换java的最简单方法是什么。sql。java的日期对象。util。保留时间戳时的日期

我试过:

java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());

没有运气。它仍然只是将日期部分存储到变量中


共 (6) 个答案

  1. # 1 楼答案

    在阅读源代码时,如果java.sql.Date确实有时间信息,那么调用getTime()将返回一个包含时间信息的值

    如果这不起作用,则信息不在java.sql.Date对象中。我预计JDBC驱动程序或数据库(实际上)正在将时间组件归零。。。或者信息根本就不存在

    我认为您应该使用java.sql.Timestamp和相应的resultset方法,以及相应的SQL类型

  2. # 2 楼答案

    此函数将从SQL日期对象返回已转换的java日期

    public static java.util.Date convertFromSQLDateToJAVADate(
                java.sql.Date sqlDate) {
            java.util.Date javaDate = null;
            if (sqlDate != null) {
                javaDate = new Date(sqlDate.getTime());
            }
            return javaDate;
        }
    
  3. # 3 楼答案

    因为java.sql.Date扩展了java.util.Date,所以您应该能够

    java.util.Date newDate = result.getDate("VALUEDATE");
    
  4. # 4 楼答案

    如果您真的希望运行时类型为util。那么就这么做吧:

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

    布莱恩

  5. # 6 楼答案

    java类。sql。Date被设计为只携带一个没有时间的日期,因此您看到的转换结果对于这种类型是正确的。你需要使用java。sql。时间戳以获取完整的时间日期

    java.util.Date newDate = result.getTimestamp("VALUEDATE");