sqljdbc4.jarを使用して、SQL ServerをJavaアプリケーションから接続しています。私はテーブルに日付フィールドを持っています。 SQL Server Management Studioからチェックすると正常に動作します。しかし、Javaでは、すべての日付が2日欠けています。SQLとJavaは異なる日付を返しますか?
たとえば、
私日時:Javaで2012-01-10
日: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());
なぜ?
SimpleDateFormatを.toStringメソッドの代わりに 'yyyy.MM.dd'形式で使用できますか? –
データベースとjavaの両方のロケール設定を確認してください。どちらのタイムゾーンも同じであることを確認してください。 – Pablo
同じエラー[ここ](http://stackoverflow.com/questions/7982969/how-is-sql-servers-timestamp2-supposed-to-work-in-jdbc);他のドライバJTDSを使用することを提案しています。 –