是java.sql.Date()
,mysql命令sysdate给出完全相同的日期时间吗?
答案 0 :(得分:1)
SYSDATE
函数提供数据库服务器的日期和时间。 java.sql.Date
没有给出任何特定日期 - 它必须初始化为特定日期,并且它只存储日期,而不是时间。 (在内部它确实存储了一个时间组件,但它没有意义,你应该忽略它。)如果你用
java.sql.Date
对象
date = new java.sql.Date(System.getCurrentTimeMillis());
或类似的东西,并且您的数据库在另一台计算机上运行,如果两台计算机上的时钟不同步,则在调用SYSDATE
时可能会得到不同的日期。
答案 1 :(得分:1)
您将在数据库系统上运行命令sysdate
。它为您提供数据库服务器的系统日期。
java.sql.Date是一个围绕毫秒值的瘦包装器,允许JDBC将其识别为SQL DATE值。不同的是,它是一个与sql日期接口的Java对象。 JDBC驱动程序将使用java.sql.Date
对象并将其数据格式化为可接受的格式,同时将其存储在数据库中,反之亦然。
在您用一些数据提供日期之前,它本身不能给我们一个日期,它会存储年,月,日,而小时,分钟,秒和毫秒则会被忽略。
答案 2 :(得分: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