【发布时间】:2015-02-12 08:50:58
【问题描述】:
我有一个小问题。 MySQL 中的“日期时间”如何工作?如何使用 Java 输入当前系统时间并再次获取它?以及如何获取数据库中的 DATETIME 与 Java 服务器当前时间之间的时间(以秒为单位)?
谢谢!
【问题讨论】:
-
你自己有没有尝试过?
标签: java mysql datetime jdbc server
我有一个小问题。 MySQL 中的“日期时间”如何工作?如何使用 Java 输入当前系统时间并再次获取它?以及如何获取数据库中的 DATETIME 与 Java 服务器当前时间之间的时间(以秒为单位)?
谢谢!
【问题讨论】:
标签: java mysql datetime jdbc server
您可以使用 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();
}
}
}
【讨论】: