表中有2列,数据类型为时间戳和日期。数据类型为"DATE“的列是默认日期/时间,因此我们不需要从JAVA插入,而是自动插入。对于数据类型为“时间戳”的另一列,我手动插入来自JAVA的当前时间,这是可选的。实际问题是数据库时间与我从java插入的时间不同。插入的ie.The默认时间与我从DB手动插入的日期/时间不一样。有没有办法将数据库时间与从java插入的系统时间相匹配?SQL日期与我的系统日期相差7-8分钟,在手动插入它时应该得到匹配。
发布于 2017-06-02 10:02:14
如果要在上述两列中插入current_date,但无法这样做:
检查系统的时区(运行java代码的位置)和数据库的时区是否相同。
在数据库中,运行以下查询:
SELECT dbtimezone FROM DUAL;
如果您发现它与您的java/系统不同,那么您可以使用以下方法来更改它:
ALTER DATABASE SET TIME_ZONE='+05:30'; 01/server.112/e10729/ch4datetime.htm#NLSPG263
编辑1:如果你不想改变时区,你可以做两件事:
1)在java中选择日期/时间表单数据库,而不是从Calendar对象中获取它。然后插入时间戳列的相同日期/时间。display timestamp value in java from database
2)从java中设置数据库日期字段,而不是数据库本身。所以很明显,从java设置了两个字段。http://alvinalexander.com/java/java-timestamp-example-current-time-now
https://stackoverflow.com/questions/44325928
复制相似问题