初始化java.sql.Date时出错

时间:2015-12-03 13:42:51

标签: java date datetime jdeveloper

我正在JDeveloper中创建一个基于EJB的项目。我有一个在Oracle数据库中插入日期的功能,所以我想测试它是否正常工作。 我有一个测试方法,其中包含以下语句:

java.sql.Date sDate = new java.sql.Date(System.currentTimeMillis());

在调试模式下,我转到变量并看到cdate的值为null,而fasttime字段则填充了long(144 ...)类型的数字。 [enter image description here]

我想知道为什么会出现不匹配。这是一个错误还是我犯了错误?默认情况下,不是使用当前日期和时间创建的日期吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

来自documentation

  

public class Date extends Date一个薄包装器,大约一毫秒   允许JDBC将其标识为SQL DATE值的值。一个   毫秒值表示具有的毫秒数   1970年1月1日00:00:00.000 GMT。

     

符合SQL DATE的定义,即毫秒值   由java.sql.Date实例包装必须通过设置'规范化'   小时,分钟,秒和毫秒为零   与实例关联的特定时区。