-1

java.sql.Date()mysql命令sysdate给出完全相同的日期时间吗?

4

3 回答 3

1

SYSDATE函数给出数据库服务器的日期和时间。java.sql.Date没有给出任何特定日期 - 它必须初始化为特定日期,并且它只存储日期,而不是时间。(在内部它也存储了一个时间分量,但它没有意义,你应该忽略它。)如果你java.sql.Date

date = new java.sql.Date(System.getCurrentTimeMillis());

SYSDATE或等效的东西并且您的数据库在不同的机器上运行,如果两台机器上的时钟不同步,您可能会在调用时得到不同的日期。

于 2013-07-26T10:39:18.480 回答
1

您将sysdate在数据库系统上运行该命令。它为您提供数据库服务器的系统日期。

java.sql.Date一个围绕毫秒值的瘦包装器,它允许 JDBC 将其识别为 SQL DATE 值。不同的是,它是一个与 sql 日期接口的 Java 对象。JDBC 驱动程序将使用该java.sql.Date对象并将其数据格式化为可接受的格式,同时将其存储在 DB 中,反之亦然。

它本身不能给我们一个日期,除非你给它一些数据,它存储年、月和日,而小时、分钟、秒和毫秒被忽略。

于 2013-07-26T10:39:40.273 回答
0
SELECT SYSDATE(); 

输出: 2013/07/26 04:16:55

默认格式: yyyy-MM-dd hh:mm:ss

Date a=new Date();
java.sql.Date d=new java.sql.Date(a.getTime());
System.out.println(d);

输出: 2013/07/26

默认格式: yyyy-MM-dd

于 2013-07-26T10:47:55.833 回答