MySQL和Java中的MySQL | Datetime

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

我有个小问题。MySQL中的“DATETIME”是如何工作的?如何将当前的系统时间放入Java中并再次获取它?如何获得数据库中的DATETIME和Java服务器当前时间之间的时间(以秒为单位)


谢谢

您可以使用时间戳在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();
    }
}

}

您自己试过什么吗?非常感谢您的帮助!