我正在使用JDBC向我的数据库添加一些行,并且它们具有日期方面。
我在提交中添加的日期的GMT字符串是
2014年1月11日05:00:00 GMT
但是当我收回它时,我得到了这个:
2014年1月11日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();
有没有办法避免这个问题?
答案 0 :(得分:1)
事实证明,通过将setDate和getDate更改为setTimestamp和getTimestamp,我可以修复它。我最终只是将时间戳包装到日期以保持兼容性,使用:
new java.sql.Date(rs.getTimestamp("date").getTime());
希望这有助于其他人在将来遇到同样的问题。