将java.sql.Date转换为java.util.Date

mse*_*dio 46 java jdbc

在保留时间戳的同时将java.sql.Date对象转换为java.util.Date的最简单方法是什么?

我试过了:

java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());
Run Code Online (Sandbox Code Playgroud)

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

x4u*_*x4u 58

类java.sql.Date旨在只携带一个没有时间的日期,因此您看到的转换结果对于此类型是正确的.您需要使用java.sql.Timestamp来获取时间的完整日期.

java.util.Date newDate = result.getTimestamp("VALUEDATE");
Run Code Online (Sandbox Code Playgroud)

  • 我将尝试这个:new Date(result.getTimestamp("VALUEDATE").getTime()); (2认同)

小智 10

如果您确实希望运行时类型为util.Date,那么只需执行以下操作:

java.util.Date utilDate = new java.util.Date(sqlDate.getTime());
Run Code Online (Sandbox Code Playgroud)

布莱恩.


Bal*_*a R 8

自从java.sql.Date扩展以来java.util.Date,您应该能够做到

java.util.Date newDate = result.getDate("VALUEDATE");
Run Code Online (Sandbox Code Playgroud)


Tan*_*haw 7

此函数将从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;
    }
Run Code Online (Sandbox Code Playgroud)