【问题标题】:MySQL | Datetime in MySQL and JavaMySQL | MySQL 和 Java 中的日期时间
【发布时间】:2015-02-12 08:50:58
【问题描述】:

我有一个小问题。 MySQL 中的“日期时间”如何工作?如何使用 Java 输入当前系统时间并再次获取它?以及如何获取数据库中的 DATETIME 与 Java 服务器当前时间之间的时间(以秒为单位)?

谢谢!

【问题讨论】:

  • 你自己有没有尝试过?

标签: java mysql datetime jdbc server


【解决方案1】:

您可以使用 Timestamp 将日期和时间插入到 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();
    }
}

}

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 2011-03-01
  • 2011-08-25
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 2011-03-20
  • 2014-02-18
相关资源
最近更新 更多