最初に、サーバーとデータベースの両方が EST タイムゾーンに設定されていることに注意してください。私がこれを言うのは、タイムゾーンが異なっていても同じであるという問題について多くのコメントを目にするからです。
それは私のコードと言われています:
LocalDate localDate = LocalDate.of(2017, 04, 01);
java.sql.Date databaseDate = java.sql.Date.valueOf(localDate);
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO myTable (date) VALUES (?)");
preparedStatement.setDate(1, databaseDate);
preparedStatement.execute();
ただし、これを実行して実行するとSELECT date FROM myTable
、結果の日付は 2017 年 3 月 31 日になります。サーバーとデータベースのタイムゾーンは同じです。
2017 年 4 月 1 日をデータベースに保存するにはどうすればよいですか?