【发布时间】:2012-05-08 08:39:38
【问题描述】:
我正在使用 sqljdbc4.jar 从我的 java 应用程序连接 SQL Server。我的表中有一个日期字段。当我从 Sql Server Management Studio 检查时,它可以正常工作。但是在java中,每个日期都缺少2天。
例如;
我的日期:2012-01-10
java 中的日期:2012-01-08
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM table1", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery();
rs.next();
System.out.println(rs2.getDate("dateCol").toString());
为什么?
【问题讨论】:
-
您可以尝试使用
yyyy.MM.dd格式的 SimpleDateFormat 而不是 .toString 方法吗? -
检查您的数据库和 java 的区域设置,您确定您使用的是相同的时区吗?
-
同样的错误here;建议使用另一个驱动程序,JTDS。
-
此问题与 Joop Eggen 所链接的问题重复。
-
我刚刚尝试了 sqljdbc4.jar 版本 4,它已修复。版本 2 也没有问题。只有错误版本是 3。Download link for version 4 感谢您的回答。
标签: java sql sql-server date