我正在使用 JDBC 将一些行添加到我的数据库中,它们具有日期方面。
我在提交中添加的日期的 GMT 字符串是
11 Jan 2014 05:00:00 GMT
但是当我拿回来时,我得到了这个:
11 Jan 2014 04:00:00 GMT
我比我的服务器早 1 小时,这可能是问题的一部分。我尝试使用日期时间和时间戳,但这些都没有解决我的问题。
我的 JDBC 查询如下所示:(在 Scala 中)
val statement = connection.prepareStatement("INSERT INTO `listings`(`track_id`, `date`, `position`) VALUES (?,?,?)");
statement.setInt(1, trackId);
statement.setDate(2,trackListing.date);
statement.setInt(3, trackListing.position);
statement.execute();
有什么办法可以避免这个问题吗?
最佳答案
事实证明,通过将 setDate 和 getDate 更改为 setTimestamp 和 getTimestamp 我可以修复它。我最终只是将时间戳包装为日期以保持兼容性,使用:
new java.sql.Date(rs.getTimestamp("date").getTime());
希望这可以帮助将来遇到同样问题的其他人。
关于使用 JDBC 添加相同日期后,MySql 给我错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000324/