首先我要注意的是,服务器和数据库都是为 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 日保存到我的数据库中?