我正在编写一个程序来将字符串转换为 java.util.Date 对象,然后将其存储在数据库中,该程序运行正确,没有错误。但是在 MySql 中,日期没有正确存储,java 正在存储日期,这是相对于写入字符串的日期的昨天日期。示例 - 如果我写“2018-11-10”,它会存储“2018-11-09”。我的代码-
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Demo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Connection con;
Class.forName("com.mysql.cj.jdbc.Driver");
Date date = Date.valueOf("2018-11-20");
con = DriverManager.getConnection("jdbc:mysql://localhost:9090/ProjectScheduler", "root", "tiger");
PreparedStatement prepare = con.prepareStatement("insert into SchedulerDB(Date) values(?)");
prepare.setDate(1, date);
prepare.executeUpdate();
}
}
在 MySql 工作台中,我将表创建为
create table SchedulerDB(Date date)
当我运行选择查询以查看表中的数据时
select * from SchedulerDB
然后在表中的“日期”列-“SchedulerDB”下,我得到了 2018-11-19。但我想要 2018-11-20,因为这是我用 java 代码写的。请帮我解决这个问题。
慕桂英3389331
相关分类