MySQL和Java中的MySQL | Datetime
我有个小问题。MySQL中的“DATETIME”是如何工作的?如何将当前的系统时间放入Java中并再次获取它?如何获得数据库中的DATETIME和Java服务器当前时间之间的时间(以秒为单位)MySQL和Java中的MySQL | Datetime,java,mysql,datetime,jdbc,server,Java,Mysql,Datetime,Jdbc,Server,我有个小问题。MySQL中的“DATETIME”是如何工作的?如何将当前的系统时间放入Java中并再次获取它?如何获得数据库中的DATETIME和Java服务器当前时间之间的时间(以秒为单位) 谢谢 您可以使用时间戳在DateTime类型的属性中插入日期和时间。检查下面的代码,我认为它可以自我解释 public class JavaApplication { private static final String DATABASE_URL = "jdbc:mysql://localhost/t
谢谢 您可以使用时间戳在DateTime类型的属性中插入日期和时间。检查下面的代码,我认为它可以自我解释
public class JavaApplication {
private static final String DATABASE_URL = "jdbc:mysql://localhost/test?characterEncoding=utf8";
private static final String DATABASE_USER = "root";
private static final String DATABASE_PASSWORD = "";
private static Connection con;
public static void main(String[] args) {
try {
Timestamp date = new Timestamp(System.currentTimeMillis());
MysqlDataSource ds = new MysqlDataSource();
ds.setUrl(DATABASE_URL);
ds.setUser(DATABASE_USER);
ds.setPassword(DATABASE_PASSWORD);
con = ds.getConnection();
PreparedStatement ps = con.prepareStatement("INSERT INTO tablename (date) VALUES (?)");
ps.setTimestamp(1, date);
ps.executeUpdate();
ps = con.prepareStatement("SELECT * FROM tablename");
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println("Date in database: "+rs.getTimestamp("date"));
System.out.println("Time difference between server and database record in seconds: "+(rs.getTimestamp("date").getTime()-System.currentTimeMillis())/1000);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}您自己试过什么吗?非常感谢您的帮助!