和java.sql.Date()
mysql命令sysdate给出完全相同的日期时间吗?
问问题
2743 次
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 回答